/* 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) => (
{open === i && (
{q.a}
)}
))}
); } function MockupPlaceholder({ color, bg }) { return (
[ mockup do módulo ]
); } window.ModuleDeepDive = ModuleDeepDive;