/* global React */
const { useState, useEffect, useMemo, useRef } = React;

// ──────────────────────────────────────────────────────────
// Mock data — propostas do Diogo (agência/freelancer)
// ──────────────────────────────────────────────────────────

const PROPOSTAS = [
  {
    id: "p-001",
    title: "Módulo de Agendamento Inteligente com IA",
    cliente: "Diogo Costa",
    empresa: "Costa & Filhos Imóveis",
    avatar: "DC",
    email: "diogo@costaefilhos.com.br",
    valor: 4000,
    pagamento: "50% entrada + 50% na entrega",
    status: "aceita",          // sent | viewing | aceita | rejeitada | expirada
    tempo: "quente",           // frio | morno | quente | fervendo
    enviadaEm: "19 abr · 20:54",
    enviadaEmISO: "2026-04-19T20:54",
    aceitaEmISO: "2026-04-30T17:49",
    visualizacoes: 12,
    tempoTotalSeg: 71 * 60 + 52,
    iaScore: 62,
    iaLabel: "Alta probabilidade",
    iaInsight: "Cliente voltou a abrir a proposta nas últimas horas, após uma sessão longa de leitura em um acesso anterior.",
    link: "sequencia.app/p/agendamento-ia-7Yh3xk",
    canais: { email: "entregue", whatsapp: "entregue" },
    timeline: [
      { kind: "accept", date: "30 Abr · 17:49", label: "Proposta aceita!", sub: "Aceita por Diogo Costa", live: true },
      { kind: "ai", date: "30 Abr · 17:59", label: "Insight da IA", sub: "Cliente voltou a abrir a proposta nas últimas horas, após uma sessão longa de leitura em um acesso anterior." },
      { kind: "follow", date: "20 Abr · 05:02", label: "Follow-up automático enviado", sub: "“Oi Diogo! Vi que você deu uma olhada na proposta de Módulo de Agendamento Inteligente com IA. Ficou com alguma dúvida? Posso te ajudar?”" },
      { kind: "view", date: "20 Abr · 14:22", label: "Cliente visualizou novamente", sub: "Acesso de iPhone · 14 minutos na página" },
      { kind: "follow", date: "19 Abr · 23:02", label: "Follow-up automático enviado", sub: "“Oi Diogo, percebi seu interesse na proposta de Módulo de Agendamento Inteligente com IA! Quer que a gente alinhe os detalhes? Estou à disposição.”" },
      { kind: "view", date: "19 Abr · 21:08", label: "Cliente abriu pelo WhatsApp", sub: "Primeira visualização · iPhone 15 · 8 min" },
      { kind: "send", date: "19 Abr · 20:54", label: "Proposta enviada", sub: "Via E-mail + WhatsApp · entregues em segundos" },
    ],
    eventos: [
      { date: "30 Abr · 17:49", action: "ACEITA", detail: "Diogo Costa · IP 187.45.xx.xx", weight: 1 },
      { date: "30 Abr · 17:42", action: "VIEW", detail: "Sessão · 9 min · scroll 100%", weight: 0.6 },
      { date: "28 Abr · 19:12", action: "VIEW", detail: "Sessão · 12 min · scroll 92%", weight: 0.5 },
      { date: "27 Abr · 22:08", action: "VIEW", detail: "Sessão · 22 min · re-leitura completa", weight: 0.7 },
      { date: "27 Abr · 11:30", action: "VIEW", detail: "Sessão · 4 min · pulou pra preço", weight: 0.4 },
      { date: "20 Abr · 14:22", action: "VIEW", detail: "Sessão · 14 min · re-leitura", weight: 0.5 },
      { date: "19 Abr · 21:08", action: "VIEW", detail: "Primeira abertura · 8 min", weight: 0.4 },
      { date: "19 Abr · 20:54", action: "SEND", detail: "E-mail + WhatsApp", weight: 0.2 },
    ],
    insights: [
      { title: "62% de chance de fechar", body: "Mais 4 fatores favoráveis que desfavoráveis: tempo total de leitura, frequência de retorno, scroll completo e horário das aberturas." },
      { title: "Hora ideal pra ligar: 19h–22h", body: "Todas as visualizações longas aconteceram nesse intervalo. Cliente está em modo decisão fora do horário comercial." },
      { title: "Re-lendo a seção de preço", body: "Última sessão durou 22 min e ficou 7 min na seção de investimento. Sinal clássico de objeção silenciosa." },
    ],
  },
  {
    id: "p-002",
    title: "Site institucional + identidade visual",
    cliente: "Marina Vieira",
    empresa: "Vieira Arquitetura",
    avatar: "MV",
    email: "marina@vieiraarq.com",
    valor: 12500,
    pagamento: "30% entrada + 35% no preview + 35% na entrega",
    status: "viewing",
    tempo: "fervendo",
    enviadaEm: "27 abr · 09:12",
    enviadaEmISO: "2026-04-27T09:12",
    visualizacoes: 7,
    tempoTotalSeg: 38 * 60 + 12,
    iaScore: 78,
    iaLabel: "Muito provável fechar",
    iaInsight: "Cliente abriu pela 4ª vez hoje de manhã e enviou para mais um decisor. Compartilhamento interno detectado.",
    link: "sequencia.app/p/vieira-arq-9Hg2zL",
    canais: { email: "aberto", whatsapp: "entregue" },
    timeline: [
      { kind: "ai", date: "agora", label: "Insight da IA", sub: "Proposta foi compartilhada por e-mail. Novo IP entrou. Provável que Sócio esteja revisando.", live: true },
      { kind: "view", date: "30 Abr · 09:14", label: "Cliente visualizou novamente", sub: "4ª abertura hoje · MacBook · 9 min" },
      { kind: "view", date: "29 Abr · 22:01", label: "Cliente visualizou novamente", sub: "Sessão de 18 min · scroll completo" },
    ],
    eventos: [],
    insights: [],
  },
  {
    id: "p-003",
    title: "Setup CRM + automação de funil",
    cliente: "Rafael Tórtola",
    empresa: "Tórtola Esquadrias",
    avatar: "RT",
    email: "rafa@tortola.com.br",
    valor: 7800,
    pagamento: "Parcela única · 7 dias",
    status: "viewing",
    tempo: "morno",
    enviadaEm: "24 abr · 16:30",
    enviadaEmISO: "2026-04-24T16:30",
    visualizacoes: 3,
    tempoTotalSeg: 8 * 60 + 22,
    iaScore: 41,
    iaLabel: "Em avaliação",
    iaInsight: "Última visualização foi rápida. Cliente provavelmente está comparando.",
    link: "sequencia.app/p/tortola-crm-3Bk9pQ",
    canais: { email: "aberto", whatsapp: "entregue" },
  },
  {
    id: "p-004",
    title: "Consultoria de SEO técnico — 3 meses",
    cliente: "Beatriz Lemos",
    empresa: "Lemos Saúde Integrativa",
    avatar: "BL",
    email: "bia@lemossaude.com",
    valor: 5400,
    pagamento: "Mensal · 3x R$ 1.800",
    status: "sent",
    tempo: "frio",
    enviadaEm: "30 abr · 11:08",
    enviadaEmISO: "2026-04-30T11:08",
    visualizacoes: 0,
    tempoTotalSeg: 0,
    iaScore: 12,
    iaLabel: "Sem sinal ainda",
    iaInsight: "Aguardando primeira abertura. Follow-up automático agendado para amanhã 09h.",
    link: "sequencia.app/p/lemos-seo-2Lm4nR",
    canais: { email: "entregue", whatsapp: "entregue" },
  },
  {
    id: "p-005",
    title: "Lançamento perpétuo + 6 anúncios",
    cliente: "André Sapato",
    empresa: "Café Sapatão",
    avatar: "AS",
    email: "andre@cafesapatao.com",
    valor: 9900,
    pagamento: "50% entrada + 50% no go-live",
    status: "aceita",
    tempo: "quente",
    enviadaEm: "12 abr · 18:00",
    enviadaEmISO: "2026-04-12T18:00",
    aceitaEmISO: "2026-04-22T10:30",
    visualizacoes: 9,
    tempoTotalSeg: 44 * 60,
    iaScore: 100,
    iaLabel: "Fechada",
    iaInsight: "Fechou em 10 dias. Tempo médio do seu funil: 14 dias.",
    link: "sequencia.app/p/cafe-sapatao-5Pq7sT",
    canais: { email: "aberto", whatsapp: "respondido" },
  },
  {
    id: "p-006",
    title: "Manutenção mensal de produto",
    cliente: "Helena Krieger",
    empresa: "Pet Hub",
    avatar: "HK",
    email: "helena@pethub.app",
    valor: 2200,
    pagamento: "Mensal · recorrente",
    status: "rejeitada",
    tempo: "frio",
    enviadaEm: "10 abr · 14:00",
    enviadaEmISO: "2026-04-10T14:00",
    visualizacoes: 4,
    tempoTotalSeg: 12 * 60,
    iaScore: 0,
    iaLabel: "Recusada",
    iaInsight: "Cliente respondeu por e-mail: orçamento fora do escopo trimestral.",
    link: "sequencia.app/p/pethub-mensal-6Rs8tU",
    canais: { email: "respondido", whatsapp: "entregue" },
  },
];

// Funnel snapshot for landing
const FUNNEL = [
  { stage: "Enviadas", n: 24 },
  { stage: "Abertas", n: 21 },
  { stage: "Re-lidas", n: 14 },
  { stage: "Aceitas", n: 9 },
];

window.SEQ_DATA = { PROPOSTAS, FUNNEL };
