From 011f35ee8b9a42b7ffad17efe5c15ebaef998dfd Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Mon, 18 May 2026 01:57:23 +0200 Subject: [PATCH] feat(ui): display clean version, hide unselected domains on selection with back navigation, and add aid explanation tab --- frontend/src/App.tsx | 127 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 118 insertions(+), 9 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 7467c7f..66b4660 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -42,7 +42,7 @@ export default function App() { // Navigation states const [selectedDomain, setSelectedDomain] = useState(null); - const [activeTab, setActiveTab] = useState<'subdomains' | 'dns'>('subdomains'); + const [activeTab, setActiveTab] = useState<'subdomains' | 'dns' | 'help'>('subdomains'); const [subdomains, setSubdomains] = useState([]); const [loadingSubdomains, setLoadingSubdomains] = useState(false); const [editingBranding, setEditingBranding] = useState(null); @@ -364,7 +364,7 @@ export default function App() { )}
- v{APP_VERSION} + {APP_VERSION.toLowerCase()}
@@ -410,15 +410,27 @@ export default function App() { {/* DOMAIN CARDS GRID */}
-

Seus Domínios Sincronizados

+

+ {selectedDomain ? 'Domínio Selecionado' : 'Seus Domínios Sincronizados'} +

+ {selectedDomain && ( + + )}
- {domains.map((dom) => ( - +
@@ -760,6 +782,93 @@ export default function App() { )} + {/* TAB 3: HELP & USER GUIDE */} + {activeTab === 'help' && ( +
+
+

📖 Central de Ajuda & Guia do Administrador

+

+ Entenda o funcionamento de cada módulo e descubra como o **Subdominio.Manager** integra o banco de dados PostgreSQL com a API Real-Time de DNS da Hostinger. +

+
+ +
+ {/* CARD 1: IDENTIDADE & SUBDOMÍNIOS */} +
+
+ 🎨 +
+
+

🎨 Identidade & Subdomínios

+

+ Este módulo gerencia a persistência local da sua rede Clube67 e as marcas visuais dos seus subdomínios (multitenancy). +

+
    +
  • + Banco PostgreSQL Local (Sync permanente) +
  • +
  • + Cores da marca (Primária & Secundária) +
  • +
  • + Logo, Título, Descrição e Favicon integrados +
  • +
  • + Auto-criação automática de entrada DNS na Hostinger +
  • +
  • + **Exclusão Sincronizada:** Exclui do banco e remove a DNS na API +
  • +
+
+
+ + {/* CARD 2: DNS REAL-TIME */} +
+
+ ☁️ +
+
+

☁️ DNS Real-Time (Hostinger)

+

+ Um console completo conectado diretamente à API oficial da Hostinger para gerenciar a zona DNS de forma instantânea. +

+
    +
  • + Listagem de registros da zona Hostinger em tempo real +
  • +
  • + Busca inteligente por nome de host ou conteúdo +
  • +
  • + Filtro rápido (ALL, A, CNAME, TXT, MX, NS) +
  • +
  • + Criação instantânea de qualquer tipo de registro +
  • +
  • + Remoção limpa na Hostinger com clique único +
  • +
+
+
+
+ + {/* DICA DE FLUXO DE TRABALHO */} +
+
+ 💡 +
+
+
Dica de Fluxo para Novos Subdomínios
+

+ Para criar um novo tenant cliente com identidade visual, use sempre a aba **🎨 Identidade**. O sistema criará a marca no banco PostgreSQL e publicará o apontamento DNS correspondente de uma só vez. Use a aba **☁️ DNS Real-Time** apenas para gerenciar configurações globais de rede e servidores de e-mail (MX, TXT). +

+
+
+
+ )} + )}