// Visual mockups using divs + icons — no images const { Cross, Globe, Users, LayoutDashboard, BarChart, Calendar, Mic, Check, QrCode, Play, BookOpen, DollarSign, TrendingUp, FileText, Award } = window.Icons; // Browser frame for desktop mockups const BrowserFrame = ({ children, title = 'app.ecclesiahub.com' }) => (
đź”’ {title}
{children}
); // Phone frame for mobile mockups const PhoneFrame = ({ children }) => (
{children}
); // Hero — Admin Dashboard mockup const DashboardMockup = ({ t }) => (
{/* Sidebar */}
Ecclesia
{[ { icon: LayoutDashboard, label: 'Dashboard', active: true }, { icon: Users, label: 'Membros' }, { icon: DollarSign, label: 'Tesouraria' }, { icon: Calendar, label: 'Agenda' }, { icon: Mic, label: 'Sermões' }, { icon: BookOpen, label: 'Cursos' } ].map((item, i) => (
{item.label}
))}
{/* Main */}
{t.mockup.dashboard}
Visão geral · Outubro 2026
{/* Stats row */}
{[ { label: t.mockup.members, value: '420', delta: '+12', color: 'blue' }, { label: t.mockup.revenue, value: 'R$ 28k', delta: '+18%', color: 'emerald' }, { label: t.mockup.attendance, value: '87%', delta: '+4%', color: 'amber' } ].map((s, i) => (
{s.label}
{s.value}
{s.delta}
))}
{/* Chart */}
{t.mockup.revenue}
6 meses
{[42, 58, 51, 72, 68, 85].map((h, i) => (
))}
{/* Members list */}
Novos membros
{[ { n: 'Ana Lima', t: 'Hoje' }, { n: 'JoĂŁo Silva', t: 'Ontem' }, { n: 'Maria Costa', t: '2 dias' } ].map((m, i) => (
{m.n}
{m.t}
))}
); // Hero — Phone Member Portal mockup const PhoneMockup = ({ t }) => (
Bem-vindo
Pr. Lucas
{/* Check-in card */}
{t.mockup.checkin}
Culto · 19h30
{/* Courses */}
{t.mockup.courses}
{[ { name: 'Discipulado I', prog: 75, color: 'bg-blue-500' }, { name: 'Liderança', prog: 40, color: 'bg-amber-500' } ].map((c, i) => (
{c.name}
{c.prog}%
))} {/* Bottom nav */}
{[LayoutDashboard, Calendar, BookOpen, Users].map((I, i) => ( ))}
); // Showcase 1 — Financial const FinancialMockup = ({ t }) => (
Tesouraria
Outubro 2026
{[ { l: 'Entradas', v: 'R$ 32.450', c: 'emerald' }, { l: 'SaĂ­das', v: 'R$ 18.200', c: 'rose' }, { l: 'Saldo', v: 'R$ 14.250', c: 'blue' } ].map((s, i) => (
{s.l}
{s.v}
))}
{/* Chart */}
Receita mensal
{[45, 62, 55, 78, 70, 88, 82, 95].map((h, i) => (
))}
{/* Recent txns */}
Lançamentos recentes
{[ { d: '24/10', desc: 'Dízimos · Culto Domingo', v: '+ R$ 4.250', c: 'emerald' }, { d: '23/10', desc: 'Conta de luz', v: '- R$ 680', c: 'rose' }, { d: '22/10', desc: 'Oferta especial', v: '+ R$ 1.890', c: 'emerald' } ].map((tx, i) => (
{tx.d}
{tx.desc}
{tx.v}
))}
); // Showcase 2 — Check-in const CheckinMockup = ({ t }) => (
{t.mockup.checkin}
Domingo, 19h30 · 87 presentes
{[1,1,0,1,0,1,0,1,1].map((b,i) => (
))}
Presentes
87
+ 12 vs semana passada
Total membros
100
87% de presença
Membros
{[ { n: 'Ana Beatriz Lima', cell: 'Célula Vida', here: true }, { n: 'Carlos Eduardo', cell: 'Célula Fé', here: true }, { n: 'Daniela Souza', cell: 'Célula Vida', here: false }, { n: 'Eduardo Martins', cell: 'Célula Esperança', here: true } ].map((m, i) => (
{m.n}
{m.cell}
{m.here && }
))}
); // Showcase 3 — EAD const EADMockup = ({ t }) => (
Curso · Discipulado I
Fundamentos da FĂ© CristĂŁ
{/* Video player */}
04:32
14:08
{/* Progress */}
{t.mockup.progress} 68%
{/* Modules */}
{[ { n: '1. Quem Ă© Jesus?', done: true }, { n: '2. A obra da Cruz', done: true }, { n: '3. Vida em ComunhĂŁo', done: false, current: true }, { n: '4. O EspĂ­rito Santo', done: false } ].map((m, i) => (
{m.done ? : {i+1}}
{m.n}
{m.done &&
âś“ {t.mockup.complete}
}
))}
); window.Mockups = { BrowserFrame, PhoneFrame, DashboardMockup, PhoneMockup, FinancialMockup, CheckinMockup, EADMockup };