);
}
// ── Indique e ganhe ──────────────────────────────────────────
function Referral({ onBack, onToast }) {
const steps = ["Compartilhe seu código com amigos", "Eles ganham R$ 10 na primeira compra", "Você ganha R$ 20 quando eles compram"];
return (
);
}
// ── Ajuda e suporte ──────────────────────────────────────────
function Help({ onBack }) {
const [open, setOpen] = React.useState(null);
const faqs = [
["Como funciona o BemCash?", "Cada loja define um percentual de cashback que vira BemCash na sua conta após a compra. O BemCash Turbo é um extra que o comerciante adiciona."],
["Quando meu saldo fica disponível?", "O cashback fica como “a liberar” durante o prazo de troca/devolução e depois vira saldo disponível para usar."],
["Posso usar o saldo em qualquer loja?", "Sim. O saldo BemCash pode abater o valor de qualquer pedido no app, em entrega ou retirada."],
["Como agendo um serviço?", "Na loja de serviço, escolha o serviço, a data, o horário e o local. Você confirma sem pagar agora."],
];
const contacts = [["headset", "Falar com o suporte", "Chat no app"], ["bell", "WhatsApp", "(79) 3000-0000"], ["info", "Central de ajuda", "Perguntas frequentes"]];
return (
{contacts.map(([ic, t, d]) => (
))}
Perguntas frequentes
{faqs.map(([q, a], i) => (
{open === i &&
{a}
}
))}
);
}
// ── Sobre ────────────────────────────────────────────────────
function About({ onBack }) {
return (
Guia Morar Bem
Versão 1.0.0
O Morar Bem é o guia de cidades que conecta você aos melhores parceiros de Aracaju, Barra dos Coqueiros e Zona de Expansão — com cashback de verdade, do delivery aos serviços do seu lar.
{["Termos de uso", "Política de privacidade", "Avaliar o app", "Redes sociais"].map((r, i) => (
))}
Feito em Sergipe 🌊
);
}
// ── Router ───────────────────────────────────────────────────
function ProfileScreen({ view, onBack, onToast, onOpenStore, wallet }) {
switch (view) {
case "editar": return ;
case "enderecos": return ;
case "pagamento": return ;
case "notificacoes": return ;
case "favoritos": return ;
case "cupons": return ;
case "indique": return ;
case "ajuda": return ;
case "sobre": return ;
default: return null;
}
}
// ── Detalhe do agendamento ───────────────────────────────────
function AgendaDetail({ booking, onBack, onToast }) {
const p = partnerById(booking.partner);
const stepsAll = ["Solicitado", "Confirmado", "Em atendimento", "Concluído"];
const current = booking.status === "Concluído" ? 4 : booking.status === "Confirmado" ? 2 : 1;
return (
{p.name}
{p.cat} · {p.area}
{/* status timeline */}
Status
{stepsAll.map((s, i) => {
const done = i + 1 <= current; const now = i + 1 === current;
return (