/* ============================================================ AppScreens.jsx — telas por dispositivo (papéis distintos) WEB: painel completo (KPIs + viz por módulo + recomendação IA) MOBILE: app operacional compacto (métrica-hero + sparkline + IA) Visual minimalista, denso e organizado — padrão SaaS premium. ============================================================ */ const Panel = ({ title, hint, children, style, bodyStyle }) => (
{title && (
{title} {hint && {hint}}
)}
{children}
); const SideItem = ({ icon, active }) => (
); /* ====================== WEB APP ====================== Painel completo: tira de KPIs + visualização por módulo (gráfico / pipeline / funil) + recomendação da IA. */ const WebAppScreen = ({ m }) => { const isPipe = m.web === 'pipeline', isFun = m.web === 'funnel'; return (
{/* sidebar */}
AR
{AR_MODULES.map(mod => )}
{/* main */}
{/* topbar */}
{m.page}
Mercado São João · matriz
Pergunte à IA…
SJ
{/* content */}
{/* KPIs */}
{m.kpis.map((k, i) => )}
{isPipe ? (
) : isFun ? (
) : (
{m.labels.map(l => {l})}
)}
); }; /* ====================== MOBILE ====================== App operacional: métrica-destaque com sparkline + 2 KPIs + recomendação da IA + barra de navegação. */ const PhoneAppScreen = ({ m }) => (
{/* status bar */}
9:41
{/* header */}
AR
Mercado São João
{m.page}
{/* hero metric + sparkline */}
{m.hero.l}
{m.hero.v}
{m.hero.sub}
{/* 2 KPIs */}
{m.kpis.slice(1, 3).map((k, i) => )}
{/* bottom nav */}
{[['layout-dashboard', false], ['bar-chart-3', false], ['sparkles', true], ['bell', false], ['user', false]].map(([ic, act], i) => ( act ?
: ))}
); Object.assign(window, { WebAppScreen, PhoneAppScreen });