/* global React, Icon */ // ============================================ // GENERIC MODULE DEEP-DIVE TEMPLATE // Used by /modulos/*.html pages. Accepts a config object. // ============================================ const { useState: useMs } = React; function ModuleDeepDive({ config }) { const { eyebrow, title, subtitle, color, bg, features, mockup: MockupComp, useCases, integrations, faq } = config; return ( <> {/* DEEP DIVE — intro + mockup */} {eyebrow} {title} {subtitle} {features.slice(0, 4).map((f, i) => ( {f.t} {f.d} ))} Agendar demonstração Ver todos os módulos {MockupComp ? : } {/* FEATURES GRID — todos os recursos */} {features.length > 4 && ( Recursos Tudo que você precisa no módulo. {features.map((f, i) => ( {f.t} {f.d} ))} )} {/* USE CASES */} {useCases && useCases.length > 0 && ( Na prática Como times usam esse módulo. {useCases.map((u, i) => ( {u.label} {u.title} {u.desc} ))} )} {/* INTEGRATIONS */} {integrations && integrations.length > 0 && ( Plataforma conectada Conecta-se com o resto da TSA. Este módulo trabalha em conjunto com os demais — sem integrações externas, sem retrabalho. {integrations.map((it, i) => ( { e.currentTarget.style.borderColor = color; e.currentTarget.style.transform = 'translateY(-2px)'; }} onMouseLeave={(e) => { e.currentTarget.style.borderColor = 'var(--border)'; e.currentTarget.style.transform = 'translateY(0)'; }}> {it.name} {it.desc} ))} )} {/* FAQ */} {faq && faq.length > 0 && } > ); } function ModuleFAQ({ items }) { const [open, setOpen] = useMs(0); return ( Dúvidas Perguntas frequentes sobre o módulo. {items.map((q, i) => ( setOpen(open === i ? -1 : i)} style={{ width: '100%', display: 'flex', gap: 16, alignItems: 'center', justifyContent: 'space-between', padding: '20px 24px', background: 'none', border: 'none', cursor: 'pointer', textAlign: 'left', fontWeight: 500, fontSize: 15.5, letterSpacing: '-0.005em', color: 'var(--text)', }}> {q.q} + {open === i && ( {q.a} )} ))} ); } function MockupPlaceholder({ color, bg }) { return ( [ mockup do módulo ] ); } window.ModuleDeepDive = ModuleDeepDive;
{subtitle}
Este módulo trabalha em conjunto com os demais — sem integrações externas, sem retrabalho.