feat: Implementação de submenus laterais (flyout), correções de UI e proteção de rotas (AuthGuard)

This commit is contained in:
Erik Silva
2025-12-12 15:24:38 -03:00
parent 83ce15bb36
commit 04c954c3d9
36 changed files with 2628 additions and 923 deletions

View File

@@ -155,7 +155,7 @@ export default function AgencyDetailPage() {
<div className="flex gap-3">
<Link
href={`/superadmin/agencies/${tenant.id}/edit`}
className="px-4 py-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors font-medium text-sm"
className="px-4 py-2 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors font-medium text-sm"
>
Editar Dados
</Link>

View File

@@ -99,7 +99,7 @@ export default function NewAgencyPage() {
required
value={formData.agencyName}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -114,7 +114,7 @@ export default function NewAgencyPage() {
value={formData.subdomain}
onChange={handleChange}
placeholder="exemplo"
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
<p className="text-xs text-gray-500 mt-1">Será usado como: exemplo.aggios.app</p>
</div>
@@ -126,7 +126,7 @@ export default function NewAgencyPage() {
name="cnpj"
value={formData.cnpj}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -137,7 +137,7 @@ export default function NewAgencyPage() {
name="razaoSocial"
value={formData.razaoSocial}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -149,7 +149,7 @@ export default function NewAgencyPage() {
value={formData.website}
onChange={handleChange}
placeholder="https://"
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -160,7 +160,7 @@ export default function NewAgencyPage() {
name="phone"
value={formData.phone}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -172,7 +172,7 @@ export default function NewAgencyPage() {
value={formData.industry}
onChange={handleChange}
placeholder="Ex: Tecnologia, Marketing"
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -182,7 +182,7 @@ export default function NewAgencyPage() {
name="teamSize"
value={formData.teamSize}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
>
<option value="">Selecione</option>
<option value="1-10">1-10 pessoas</option>
@@ -199,7 +199,7 @@ export default function NewAgencyPage() {
value={formData.description}
onChange={handleChange}
rows={3}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
</div>
@@ -216,7 +216,7 @@ export default function NewAgencyPage() {
name="cep"
value={formData.cep}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -229,7 +229,7 @@ export default function NewAgencyPage() {
onChange={handleChange}
maxLength={2}
placeholder="SP"
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -240,7 +240,7 @@ export default function NewAgencyPage() {
name="city"
value={formData.city}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -251,7 +251,7 @@ export default function NewAgencyPage() {
name="neighborhood"
value={formData.neighborhood}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -262,7 +262,7 @@ export default function NewAgencyPage() {
name="number"
value={formData.number}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -273,7 +273,7 @@ export default function NewAgencyPage() {
name="street"
value={formData.street}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -284,7 +284,7 @@ export default function NewAgencyPage() {
name="complement"
value={formData.complement}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
</div>
@@ -304,7 +304,7 @@ export default function NewAgencyPage() {
required
value={formData.adminName}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -318,7 +318,7 @@ export default function NewAgencyPage() {
required
value={formData.adminEmail}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
</div>
@@ -333,7 +333,7 @@ export default function NewAgencyPage() {
minLength={8}
value={formData.adminPassword}
onChange={handleChange}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-purple-500"
className="w-full px-3 py-2 border border-gray-200 rounded-md focus:ring-2 focus:ring-purple-500"
/>
<p className="text-xs text-gray-500 mt-1">Mínimo 8 caracteres</p>
</div>
@@ -345,7 +345,7 @@ export default function NewAgencyPage() {
<button
type="button"
onClick={() => router.back()}
className="px-6 py-2 border border-gray-300 rounded-md hover:bg-gray-50 transition-colors"
className="px-6 py-2 border border-gray-200 rounded-md hover:bg-gray-50 transition-colors"
>
Cancelar
</button>