diff --git a/frontend/src/app/admin/configuracoes/page.tsx b/frontend/src/app/admin/configuracoes/page.tsx index af58695..0faf0a2 100644 --- a/frontend/src/app/admin/configuracoes/page.tsx +++ b/frontend/src/app/admin/configuracoes/page.tsx @@ -17,6 +17,7 @@ const PRESET_COLORS = [ export default function ConfiguracoesPage() { const { success, error: showError } = useToast(); + const [activeTab, setActiveTab] = useState<'personalizacao' | 'backup'>('personalizacao'); const [primaryColor, setPrimaryColor] = useState('#FF6B35'); const [customColor, setCustomColor] = useState('#FF6B35'); const [loading, setLoading] = useState(true); @@ -88,185 +89,213 @@ export default function ConfiguracoesPage() {

Configurações

-

Personalize a aparência do seu site

+

Gerencie as configurações do seu site

- {/* Color Settings */} -
-
-
- -
-
-

Cor Primária

-

- Escolha a cor principal que representa sua marca. Ela será aplicada em botões, links e destaques. -

-
+ {/* Tabs Navigation */} +
+
+ +
+
- {/* Preset Colors */} -
- -
- {PRESET_COLORS.map((color) => ( - - ))} -
-
- - {/* Custom Color Picker */} -
- -
-
- applyPreviewColor(e.target.value)} - className="w-20 h-20 rounded-xl border-2 border-gray-200 dark:border-white/10 cursor-pointer shadow-md" - /> +
+ + {/* Preset Colors */} +
+ +
+ {PRESET_COLORS.map((color) => ( + + ))} +
+
+ + {/* Custom Color Picker */} +
+ +
+
+ applyPreviewColor(e.target.value)} + className="w-20 h-20 rounded-xl border-2 border-gray-200 dark:border-white/10 cursor-pointer shadow-md" + /> +
+
+ { + setCustomColor(e.target.value); + if (/^#[0-9A-F]{6}$/i.test(e.target.value)) { + applyPreviewColor(e.target.value); + } + }} + placeholder="#FF6B35" + className="w-full px-4 py-3 bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-xl text-gray-900 dark:text-white focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary transition-all font-mono" + /> +

+ Digite o código hexadecimal da cor (ex: #FF6B35) +

+
+
+
+ + {/* Preview Section */} +
+ +
+ +
+
+ +
+
+

Texto em Destaque

+

Exemplo de link ou texto importante

+
+
+
+ + Badge + + + Outline Badge + +
+
+
+
+ + {/* Save Button */} +
+ + +
+ + {/* Info Alert */} +
+
- { - setCustomColor(e.target.value); - if (/^#[0-9A-F]{6}$/i.test(e.target.value)) { - applyPreviewColor(e.target.value); - } - }} - placeholder="#FF6B35" - className="w-full px-4 py-3 bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-xl text-gray-900 dark:text-white focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary transition-all font-mono" - /> -

- Digite o código hexadecimal da cor (ex: #FF6B35) +

+ Aplicação Global +

+

+ A cor primária será aplicada automaticamente em todo o site institucional e painel administrativo.

+ )} - {/* Preview Section */} -
- -
- -
-
- -
-
-

Texto em Destaque

-

Exemplo de link ou texto importante

-
-
-
- - Badge - - - Outline Badge - -
-
+ {/* Tab Content - Backup */} + {activeTab === 'backup' && ( +
+
-
- - {/* Save Button */} -
- - -
- - {/* Info Alert */} -
- -
-

- Aplicação Global -

-

- A cor primária será aplicada automaticamente em todo o site institucional e painel administrativo. -

-
-
- - {/* Backup Manager Section */} -
-
-
- -
-
-

Backup & Restauração

-

Gerencie backups completos do seu banco de dados e arquivos

-
-
- -
+ )}
); }