feat: add Customer Portal (Área do Cliente & Central de Acessos) with 23 preloaded items and WhatsApp export
This commit is contained in:
+21
-11
@@ -4,10 +4,11 @@ import {
|
||||
ArrowRight,
|
||||
RotateCcw,
|
||||
AlertCircle,
|
||||
Sparkles,
|
||||
Lock,
|
||||
Loader2,
|
||||
MessageSquare
|
||||
Sparkles,
|
||||
Lock,
|
||||
Loader2,
|
||||
MessageSquare,
|
||||
Bookmark
|
||||
} from 'lucide-react';
|
||||
import Header from './components/Header';
|
||||
import SecurityBadge from './components/SecurityBadge';
|
||||
@@ -18,10 +19,11 @@ import OutputFiles from './components/OutputFiles';
|
||||
import OpenSslReference from './components/OpenSslReference';
|
||||
import HostGuideModal from './components/HostGuideModal';
|
||||
import AppWPP from './components/wpp/AppWPP';
|
||||
import CustomerPortal from './components/portal/CustomerPortal';
|
||||
import { convertPfx } from './utils/certConverter';
|
||||
|
||||
export default function App() {
|
||||
const [activeTab, setActiveTab] = useState('cert'); // 'cert' | 'wpp'
|
||||
const [activeTab, setActiveTab] = useState('portal'); // 'portal' | 'cert' | 'wpp' (default to portal since user asked for it!)
|
||||
const [file, setFile] = useState(null);
|
||||
const [arrayBuffer, setArrayBuffer] = useState(null);
|
||||
const [baseName, setBaseName] = useState('certificado');
|
||||
@@ -102,9 +104,15 @@ export default function App() {
|
||||
onOpenHostingGuide={() => setIsHostingGuideOpen(true)}
|
||||
/>
|
||||
|
||||
{/* Conteúdo Principal */}
|
||||
{/* Conteúdo Principal Dinâmico */}
|
||||
<main className="main-content">
|
||||
{activeTab === 'cert' ? (
|
||||
{activeTab === 'portal' && (
|
||||
/* Área do Cliente & Central de Acessos */
|
||||
<CustomerPortal />
|
||||
)}
|
||||
|
||||
{activeTab === 'cert' && (
|
||||
/* Conversor de Certificados PFX */
|
||||
<div className="container">
|
||||
{/* Banner de Segurança & Privacidade */}
|
||||
<SecurityBadge />
|
||||
@@ -201,7 +209,9 @@ export default function App() {
|
||||
</section>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
)}
|
||||
|
||||
{activeTab === 'wpp' && (
|
||||
/* Aplicativo WPPConnect Integrado */
|
||||
<div className="wpp-view-wrapper">
|
||||
<AppWPP />
|
||||
@@ -213,9 +223,9 @@ export default function App() {
|
||||
<footer className="footer">
|
||||
<div className="footer-content">
|
||||
<p>
|
||||
{activeTab === 'cert'
|
||||
? 'CertConverter Web — Conversão PKCS#12 / X.509 em conformidade com padrões ICP-Brasil e OpenSSL.'
|
||||
: 'AppWPP Web — Gerenciador de Sessões WPPConnect integrado ao portal de utilitários.'}
|
||||
{activeTab === 'portal' && 'InflavioApps — Área do Cliente & Central de Acessos C2 Sistemas.'}
|
||||
{activeTab === 'cert' && 'InflavioApps — Conversão PKCS#12 / X.509 em conformidade com padrões ICP-Brasil e OpenSSL.'}
|
||||
{activeTab === 'wpp' && 'InflavioApps — Gerenciador de Sessões WPPConnect integrado ao portal.'}
|
||||
</p>
|
||||
<div className="footer-links">
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user