// mb-data2.jsx — store types, extra providers, services, catalogs, Novo Lar & Serviços do Lar

// Store types: "venda" (cart/delivery), "agenda" (booking), "vitrine" (showcase only)
PARTNERS.forEach(p => { if (!p.type) p.type = "venda"; });
(partnerById("bela") || {}).type = "agenda";
(partnerById("academia") || {}).type = "agenda";

// helper to build a provider object compactly
function mk(o) {
  return Object.assign({
    rating: 4.7, reviews: 120, cashback: 0, turbo: 0, dist: 3.0, fee: 0, free: 0,
    time: "Agendar", delivery: false, pickup: true, price: "$$", open: true,
    tags: [], color: "#1E63C8", x: 50, y: 50, hub: true,
  }, o);
}

// Visible in marketplace (added to PARTNERS): an imobiliária showcase
PARTNERS.push(mk({
  id: "larideal", name: "Lar Ideal Imóveis", seg: "morar", cat: "Imobiliárias",
  type: "vitrine", region: "Aracaju", area: "Jardins", rating: 4.8, reviews: 215,
  time: "Divulgação", color: "#2A57A8", x: 44, y: 44, hub: false,
  tags: ["Divulgação"], blurb: "Apartamentos e casas à venda em Aracaju.",
}));

// Hub-only providers (reachable via Novo Lar / Serviços do Lar)
const EXTRA = [
  // ── Novo Lar ──
  mk({ id: "terranova", name: "Terra Nova Loteamentos", seg: "morar", cat: "Terrenos", type: "vitrine", area: "Zona de Expansão", region: "Zona de Expansão", color: "#1E7D4F", blurb: "Lotes e terrenos em condomínios planejados." }),
  mk({ id: "construmar", name: "Construtora Mar Azul", seg: "morar", cat: "Lançamentos", type: "vitrine", area: "Atalaia", color: "#2A57A8", blurb: "Lançamentos na orla, da planta à entrega." }),
  mk({ id: "mudancas", name: "Sergipe Mudanças", seg: "morar", cat: "Mudanças", type: "agenda", area: "Aracaju", color: "#C98A1B", cashback: 6, blurb: "Mudança residencial com equipe e içamento." }),
  mk({ id: "arqbianca", name: "Arq. Bianca Studio", seg: "morar", cat: "Arquitetura", type: "agenda", area: "Grageru", color: "#C2367E", cashback: 5, blurb: "Projetos de interiores e arquitetura." }),
  mk({ id: "reformaja", name: "Reforma Já", seg: "morar", cat: "Reformas", type: "agenda", area: "Aracaju", color: "#8A6A3B", cashback: 7, turbo: 4, blurb: "Reformas, pintura e pequenos reparos." }),
  mk({ id: "casabela", name: "Casa Bela Móveis", seg: "morar", cat: "Móveis", type: "venda", area: "Coroa do Meio", color: "#7A3FB0", cashback: 8, turbo: 5, delivery: true, fee: 0, free: 0, time: "3–7 dias", price: "$$$", blurb: "Móveis planejados e soltos para seu lar." }),
  mk({ id: "ateliedecor", name: "Ateliê Decor", seg: "morar", cat: "Decoração", type: "venda", area: "Treze de Julho", color: "#C2367E", cashback: 10, turbo: 0, delivery: true, fee: 12.9, free: 150, time: "30–50 min", blurb: "Objetos, quadros e enxoval para decorar." }),
  mk({ id: "eletrolar", name: "Eletro Lar", seg: "morar", cat: "Eletrodomésticos", type: "venda", area: "Centro", color: "#1E63C8", cashback: 5, turbo: 6, delivery: true, fee: 0, free: 0, time: "2–5 dias", price: "$$$", blurb: "Eletro e linha branca com entrega." }),

  // ── Serviços do Lar (agendados) ──
  mk({ id: "limpalar", name: "Limpa Lar", seg: "lar", cat: "Limpeza", type: "agenda", area: "Aracaju", color: "#0E9FB0", cashback: 8, turbo: 5, rating: 4.9, reviews: 540, blurb: "Diaristas e faxina profissional." }),
  mk({ id: "chaveja", name: "ChaveJá Chaveiro", seg: "lar", cat: "Chaveiro", type: "agenda", area: "Aracaju", color: "#C98A1B", cashback: 6, rating: 4.8, reviews: 320, time: "24h", blurb: "Chaveiro 24h e abertura de portas." }),
  mk({ id: "piscinaclean", name: "Piscina Clean", seg: "lar", cat: "Piscineiro", type: "agenda", area: "Atalaia", color: "#1E9AD6", cashback: 7, rating: 4.7, reviews: 180, blurb: "Limpeza e tratamento de piscinas." }),
  mk({ id: "eletrofix", name: "EletroFix", seg: "lar", cat: "Elétrica", type: "agenda", area: "Grageru", color: "#E8552D", cashback: 6, turbo: 4, rating: 4.8, reviews: 410, blurb: "Manutenção e instalação elétrica." }),
  mk({ id: "encanase", name: "EncanaSE", seg: "lar", cat: "Encanador", type: "agenda", area: "Farolândia", color: "#0E7C86", cashback: 6, rating: 4.6, reviews: 260, blurb: "Reparos hidráulicos e desentupimento." }),
  mk({ id: "coolar", name: "Cool Ar Climatização", seg: "lar", cat: "Ar-condicionado", type: "agenda", area: "Jardins", color: "#1E63C8", cashback: 9, turbo: 5, rating: 4.9, reviews: 300, blurb: "Instalação e limpeza de ar-condicionado." }),
  mk({ id: "jardimvivo", name: "Jardim Vivo", seg: "lar", cat: "Jardinagem", type: "agenda", area: "Aruana", color: "#1E7D4F", cashback: 7, rating: 4.7, reviews: 140, blurb: "Jardinagem, poda e paisagismo." }),
  mk({ id: "dedetse", name: "DedetSE", seg: "lar", cat: "Dedetização", type: "agenda", area: "Aracaju", color: "#8A6A3B", cashback: 6, rating: 4.6, reviews: 190, blurb: "Dedetização e controle de pragas." }),
];

// Combined lookup (overrides the original)
const ALLP = () => PARTNERS.concat(EXTRA);
window.partnerById = (id) => ALLP().find(p => p.id === id);

// ── Services (agenda) ────────────────────────────────────────
const SERVICES = {
  bela: [
    { id: "s1", name: "Corte + Escova", desc: "Corte feminino com finalização", price: 90, dur: "1h" },
    { id: "s2", name: "Coloração", desc: "Tintura completa com tratamento", price: 180, dur: "2h" },
    { id: "s3", name: "Manicure & Pedicure", desc: "Mãos e pés", price: 65, dur: "1h10" },
    { id: "s4", name: "Dia da noiva", desc: "Pacote completo", price: null, dur: "—" },
  ],
  limpalar: [
    { id: "s1", name: "Faxina padrão", desc: "Até 2 quartos · 4h de serviço", price: 140, dur: "4h" },
    { id: "s2", name: "Faxina pesada", desc: "Pós-obra ou pós-festa", price: 220, dur: "6h" },
    { id: "s3", name: "Diarista mensal", desc: "1x por semana no mês", price: null, dur: "Plano" },
  ],
  eletrofix: [
    { id: "s1", name: "Visita técnica", desc: "Diagnóstico no local", price: 80, dur: "40min" },
    { id: "s2", name: "Instalação de tomadas/luminárias", desc: "Mão de obra", price: 150, dur: "1–2h" },
    { id: "s3", name: "Troca de quadro/disjuntores", desc: "Orçamento na visita", price: null, dur: "—" },
  ],
  coolar: [
    { id: "s1", name: "Limpeza de split", desc: "Higienização completa", price: 130, dur: "1h" },
    { id: "s2", name: "Instalação de split", desc: "Até 12.000 BTUs", price: 350, dur: "2–3h" },
    { id: "s3", name: "Recarga de gás", desc: "Orçamento na visita", price: null, dur: "—" },
  ],
  reformaja: [
    { id: "s1", name: "Pintura de ambiente", desc: "Por cômodo, material à parte", price: 280, dur: "1 dia" },
    { id: "s2", name: "Pequenos reparos", desc: "Lista de tarefas (bate-pronto)", price: 160, dur: "Meio dia" },
    { id: "s3", name: "Reforma completa", desc: "Visita + projeto + orçamento", price: null, dur: "—" },
  ],
};
const svcCat = (cat) => ({
  Limpeza: "Faxina", Chaveiro: "Atendimento", Piscineiro: "Tratamento", Elétrica: "Serviço elétrico",
  Encanador: "Serviço hidráulico", "Ar-condicionado": "Atendimento", Jardinagem: "Serviço de jardim",
  Dedetização: "Aplicação", Mudanças: "Mudança", Arquitetura: "Consultoria", Reformas: "Serviço",
}[cat] || "Serviço");
function genericServices(p) {
  return [
    { id: "g1", name: svcCat(p.cat) + " · visita", desc: "Avaliação no local e orçamento sem compromisso.", price: 80, dur: "40min" },
    { id: "g2", name: svcCat(p.cat) + " padrão", desc: "Serviço completo com profissional verificado.", price: 160, dur: "1–2h" },
    { id: "g3", name: "Pacote sob medida", desc: "Combine o escopo direto com o prestador.", price: null, dur: "—" },
  ];
}
const servicesFor = (p) => SERVICES[p.id] || genericServices(p);

// ── Catalogs (vitrine) ───────────────────────────────────────
const CATALOG = {
  larideal: [
    { id: "c1", title: "Apto 3 quartos · Jardins", desc: "Suíte, varanda gourmet, 2 vagas. Pronto para morar.", priceLabel: "R$ 690.000", specs: [["home", "98 m²"], ["pin", "Jardins"]], img: "apartamento" },
    { id: "c2", title: "Casa 4 quartos · Atalaia", desc: "Condomínio fechado, piscina, área de lazer.", priceLabel: "R$ 1.250.000", specs: [["home", "210 m²"], ["pin", "Atalaia"]], img: "casa" },
    { id: "c3", title: "Apto 2 quartos · Coroa do Meio", desc: "Vista mar, lazer completo, financiável.", priceLabel: "R$ 520.000", specs: [["home", "64 m²"], ["pin", "Coroa do Meio"]], img: "apartamento" },
  ],
  terranova: [
    { id: "c1", title: "Lote 200 m² · Condomínio Mar", desc: "Infraestrutura completa, entrada + parcelas.", priceLabel: "R$ 180.000", specs: [["home", "200 m²"], ["pin", "Z. Expansão"]], img: "terreno" },
    { id: "c2", title: "Lote 360 m² · esquina", desc: "Pronto para construir, documentação ok.", priceLabel: "R$ 290.000", specs: [["home", "360 m²"], ["pin", "Mosqueiro"]], img: "terreno" },
  ],
  construmar: [
    { id: "c1", title: "Residencial Maré · 2 e 3 quartos", desc: "Na planta, lazer no rooftop, entrega 2027.", priceLabel: "A partir de R$ 450.000", specs: [["pin", "Atalaia"], ["clock", "Entrega 2027"]], img: "lançamento" },
    { id: "c2", title: "Studios Orla", desc: "Compactos para investir, alto potencial de locação.", priceLabel: "A partir de R$ 320.000", specs: [["home", "32 m²"], ["pin", "Coroa do Meio"]], img: "lançamento" },
  ],
};
const catalogFor = (p) => CATALOG[p.id] || [];

// ── Novo Lar — stages ────────────────────────────────────────
const NOVO_LAR_STAGES = [
  { id: "terreno", icon: "pin", title: "Buscando um terreno", sub: "Quero comprar um lote para construir",
    sections: [
      { title: "Terrenos e loteamentos", ids: ["terranova"] },
      { title: "Construtoras e lançamentos", ids: ["construmar"] },
      { title: "Projeto e arquitetura", ids: ["arqbianca"] },
    ] },
  { id: "pronto", icon: "home", title: "Quero comprar pronto", sub: "Procuro um imóvel pronto para morar",
    sections: [
      { title: "Imóveis à venda", ids: ["larideal"] },
      { title: "Lançamentos", ids: ["construmar"] },
      { title: "Hora de mudar", ids: ["mudancas"] },
    ] },
  { id: "construir", icon: "edit", title: "Vou construir ou reformar", sub: "Já tenho o espaço e quero erguer/reformar",
    sections: [
      { title: "Materiais de construção", ids: ["casa"] },
      { title: "Reformas e mão de obra", ids: ["reformaja"] },
      { title: "Arquitetura e interiores", ids: ["arqbianca"] },
    ] },
  { id: "decorar", icon: "beauty", title: "Mobiliar e decorar", sub: "Já tenho meu lar e quero deixar do meu jeito",
    sections: [
      { title: "Móveis", ids: ["casabela"] },
      { title: "Decoração e enxoval", ids: ["ateliedecor"] },
      { title: "Eletrodomésticos", ids: ["eletrolar"] },
    ] },
];

// ── Serviços do Lar — categories ─────────────────────────────
const HOME_SVC = [
  { id: "limpeza", label: "Limpeza", icon: "beauty", ids: ["limpalar"] },
  { id: "chaveiro", label: "Chaveiro", icon: "home", ids: ["chaveja"] },
  { id: "eletrica", label: "Elétrica", icon: "bolt", ids: ["eletrofix"] },
  { id: "encanador", label: "Encanador", icon: "health", ids: ["encanase"] },
  { id: "piscina", label: "Piscineiro", icon: "target", ids: ["piscinaclean"] },
  { id: "ar", label: "Ar-cond.", icon: "info", ids: ["coolar"] },
  { id: "jardim", label: "Jardinagem", icon: "fun", ids: ["jardimvivo"] },
  { id: "dedet", label: "Dedetização", icon: "pet", ids: ["dedetse"] },
];

// ── Roteiro Gastronômico — culinária ────────────────────────
const GASTRO_CUISINES = [
  { id: "frutos_mar", label: "Frutos do Mar", icon: "food", color: "#0E7C86" },
  { id: "churrasco",  label: "Churrasco",      icon: "food", color: "#E8552D" },
  { id: "italiana",   label: "Italiana",        icon: "food", color: "#C98A1B" },
  { id: "japonesa",   label: "Japonesa",         icon: "food", color: "#7A3FB0" },
  { id: "nordestina", label: "Nordestina",       icon: "food", color: "#1E7D4F" },
  { id: "arabe",      label: "Árabe",            icon: "food", color: "#8A6A3B" },
  { id: "pizzaria",   label: "Pizzaria",          icon: "food", color: "#C2367E" },
  { id: "fast_food",  label: "Fast Food",         icon: "food", color: "#1E63C8" },
  { id: "vegano",     label: "Vegano & Veggie",   icon: "food", color: "#0FA968" },
  { id: "doceria",    label: "Doceria & Café",    icon: "food", color: "#B5751A" },
  { id: "bar",        label: "Bar & Petiscos",    icon: "fun",  color: "#4F46E5" },
  { id: "sushi",      label: "Sushi & Temaki",    icon: "food", color: "#0E9FB0" },
];

// Vínculos mock: culinária → IDs de parceiros
const GASTRO_BY_CUISINE = {
  frutos_mar: ["caranguejo", "sabor"],
  fast_food:  ["mare", "acai"],
  nordestina: ["sabor", "caranguejo"],
  doceria:    ["pao", "acai"],
  bar:        ["sabor", "caranguejo"],
};

function gastroPartnersFor(cuisineId, region) {
  const ids = GASTRO_BY_CUISINE[cuisineId] || [];
  return ids.map(id => ALLP().find(p => p.id === id)).filter(Boolean)
    .filter(p => !region || region === "Todas" || p.region === region);
}

// ── User history: agendamentos & solicitações (contatos) ─────
const AGENDAMENTOS = [
  { id: "a1", partner: "limpalar", service: "Faxina padrão", date: "14 jun", time: "10:00", local: "domicilio", status: "Confirmado", upcoming: true },
  { id: "a2", partner: "bela", service: "Corte + Escova", date: "08 jun", time: "15:00", local: "loja", status: "Concluído", rated: false },
  { id: "a3", partner: "coolar", service: "Limpeza de split", date: "30 mai", time: "08:00", local: "domicilio", status: "Concluído", rated: true, stars: 5 },
];
const LEADS = [
  { id: "l1", partner: "larideal", title: "Apto 3 quartos · Jardins", date: "09 jun", status: "Aguardando retorno" },
  { id: "l2", partner: "construmar", title: "Residencial Maré · 2 e 3 quartos", date: "02 jun", status: "Respondido" },
];

const NOTIFS = [
  { id: "n1", kind: "status", title: "Pedido a caminho", text: "Maré Burger saiu para entrega. Chega em ~15 min.", time: "Agora", group: "Hoje", unread: true },
  { id: "n2", kind: "turbo", title: "Cashback Turbo creditado", text: "Você recebeu R$ 2,74 de Turbo na sua carteira.", time: "1 h", group: "Hoje", unread: true },
  { id: "n3", kind: "agenda", title: "Agendamento confirmado", text: "Limpa Lar confirmou sua faxina para 14 jun às 10:00.", time: "3 h", group: "Hoje", unread: true },
  { id: "n4", kind: "promo", title: "Cashback Turbo da semana", text: "Lojas turbinaram o cashback. Até 13% de volta!", time: "Ontem", group: "Esta semana", unread: false },
  { id: "n5", kind: "novolar", title: "Novidade no Novo Lar", text: "Novos lançamentos na orla de Atalaia para você.", time: "2 d", group: "Esta semana", unread: false },
  { id: "n6", kind: "cashback", title: "Saldo liberado", text: "R$ 3,20 de cashback agora está disponível para usar.", time: "3 d", group: "Esta semana", unread: false },
  { id: "n7", kind: "lead", title: "A imobiliária respondeu", text: "Lar Ideal Imóveis retornou seu interesse no Apto 3 quartos.", time: "4 d", group: "Esta semana", unread: false },
];

Object.assign(window, { EXTRA, ALLP, SERVICES, servicesFor, CATALOG, catalogFor, NOVO_LAR_STAGES, HOME_SVC, svcCat, GASTRO_CUISINES, GASTRO_BY_CUISINE, gastroPartnersFor, AGENDAMENTOS, LEADS, NOTIFS });
