// ESTÚDIO — Páginas C: Repertório, Experiências, Conhecimento, Biblioteca, Parcerias, Aprendizados
(function () {
  const { useState } = React;
  const D = window.DATA;
  const { PlatRow, PlatIcon, PerfilTag, Chip, PageHead, Card, fmtData } = window.UI;
  const h = React.createElement;
  function cont(id) { return D.conteudos.find((c) => c.id === id); }

  // ══════════════════ REPERTÓRIO ══════════════════
  function Repertorio() {
    const [fTipo, setFTipo] = useState("todos");
    const [q, setQ] = useState("");
    const tipos = [...new Set(D.repertorio.map((r) => r.tipo))];
    const icons = { vídeo: "▶", frase: "❝", print: "▢", anúncio: "◪", pesquisa: "✎", case: "★", livro: "📖" };
    const lista = D.repertorio
      .filter((r) => fTipo === "todos" || r.tipo === fTipo)
      .filter((r) => { const s = q.toLowerCase(); return !q || r.titulo.toLowerCase().includes(s) || (r.origem || "").toLowerCase().includes(s) || r.tags.some((t) => t.includes(s)); });
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Repertório", sub: "Você não cria do zero — você coleta. Cada item pode virar conteúdo." }),
      h("div", { className: "cal-filters" },
        h("input", { className: "search", placeholder: "Buscar por título ou tag…", value: q, onChange: (e) => setQ(e.target.value) }),
        h(Chip, { active: fTipo === "todos", onClick: () => setFTipo("todos") }, "Todos"),
        tipos.map((t) => h(Chip, { key: t, active: fTipo === t, onClick: () => setFTipo(t) }, t))
      ),
      h("div", { className: "rep-grid" }, lista.map((r) => h(Card, { key: r.id, className: "rep-card" },
        h("div", { className: "rep-ic" }, icons[r.tipo] || "❖"),
        h("div", { className: "rep-body" },
          h("div", { className: "rep-title" }, r.titulo),
          h("div", { className: "rep-meta" }, h("span", { className: "rep-tipo" }, r.tipo), " · ", r.origem, " · ", h("span", { className: "rep-tema" }, r.tema)),
          r.nota && h("div", { className: "rep-nota" }, r.nota),
          h("div", { className: "rep-tags" }, r.tags.map((t) => h("span", { key: t, className: "tag" }, "#" + t)), h(PerfilTag, { id: r.perfil, dot: true })),
          h("div", { className: r.vira ? "rep-vira on" : "rep-vira" }, r.vira ? "✓ pode virar conteúdo" : "só referência")
        )
      )))
    );
  }

  // ══════════════════ EXPERIÊNCIAS ══════════════════
  function Experiencias() {
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Experiências", sub: "Você vive situações diariamente — e elas geram conteúdo." }),
      h("div", { className: "exp-list" }, D.experiencias.map((e) => {
        const c = e.conteudo && cont(e.conteudo);
        return h(Card, { key: e.id, className: "exp-card" },
          h("div", { className: "exp-head" }, h("h3", { className: "exp-title" }, "✦ " + e.titulo), h("span", { className: "exp-date" }, fmtData(e.quando))),
          h("div", { className: "exp-meta" }, h("span", null, "📍 " + e.onde), h("span", null, "👥 " + e.pessoas), h("span", { className: "exp-emo" }, "♥ " + e.emocao)),
          h("div", { className: "exp-learn" }, h("b", null, "Aprendizado: "), e.aprendizado),
          h("div", { className: "exp-foot" }, e.virou
            ? h("span", { className: "exp-virou on" }, "→ virou conteúdo: " + (c ? c.titulo : ""))
            : h("span", { className: "exp-virou" }, "ainda não virou conteúdo"))
        );
      }))
    );
  }

  // ══════════════════ CONHECIMENTO ══════════════════
  function Conhecimento() {
    const cor = { lido: "#7FB68C", "em andamento": "#E89B4C" };
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Conhecimento", sub: "Livros, cursos e pesquisas — cada aprendizado pode gerar insights e conteúdos." }),
      h("div", { className: "know-grid" }, D.conhecimento.map((k) => h(Card, { key: k.id, className: "know-card" },
        h("div", { className: "know-top" }, h("span", { className: "know-tipo" }, k.tipo), h("span", { className: "status-pill", style: { background: cor[k.status] + "22", color: cor[k.status] } }, k.status)),
        h("h3", { className: "know-title" }, k.titulo),
        h("div", { className: "know-sec" }, h("b", null, "Insights"), h("ul", { className: "vlist" }, k.insights.map((i, x) => h("li", { key: x }, i)))),
        k.gerou.length > 0 && h("div", { className: "know-gerou" }, "gerou " + k.gerou.length + " item(ns) no sistema")
      )))
    );
  }

  // ══════════════════ BIBLIOTECA ══════════════════
  function Biblioteca() {
    const [aba, setAba] = useState("ganchos");
    const abas = [["ganchos", "Ganchos & CTAs"], ["assets", "Assets & templates"], ["materia", "Matéria-prima"]];
    const stCor = { "aguardando edição": "#E89B4C", "em edição": "#A89AC9", finalizado: "#7FB68C" };
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Biblioteca", sub: "Ganchos que funcionaram, assets reutilizáveis e o rastreio de matéria-prima." }),
      h("div", { className: "seg" }, abas.map(([k, l]) => h("button", { key: k, className: "seg-btn" + (aba === k ? " seg-on" : ""), onClick: () => setAba(k) }, l))),
      aba === "ganchos" && h("div", { className: "gancho-list" }, D.ganchos.map((g) => h(Card, { key: g.id, className: "gancho-card" },
        h("div", { className: "gancho-txt" }, "“" + g.texto + "”"),
        h("div", { className: "gancho-meta" }, h(PerfilTag, { id: g.perfil, dot: true }), h(PlatRow, { plats: [g.plat], size: 16 }), h("span", { className: "gancho-nota" }, g.nota))
      ))),
      aba === "assets" && h("div", { className: "rep-grid" }, D.assets.map((a) => h(Card, { key: a.id, className: "asset-card" },
        h("div", { className: "asset-tipo" }, a.tipo),
        h("div", { className: "asset-title" }, a.titulo),
        h("div", { className: "asset-meta" }, h(PerfilTag, { id: a.perfil, dot: true }), h(PlatRow, { plats: [a.plat], size: 16 }))
      ))),
      aba === "materia" && h("div", { className: "mp-list" }, D.materiaPrima.map((m) => h(Card, { key: m.id, className: "mp-card" },
        h("div", { className: "mp-date" }, fmtData(m.data)),
        h("div", { className: "mp-body" }, h("b", null, m.qtd + " itens gravados"), h(PerfilTag, { id: m.perfil, dot: true })),
        h("span", { className: "status-pill", style: { background: stCor[m.status] + "22", color: stCor[m.status] } }, m.status)
      )))
    );
  }

  // ══════════════════ PARCERIAS ══════════════════
  function Parcerias() {
    const cor = { negociação: "#E89B4C", ativa: "#7FB68C", encerrada: "#C0BEBC" };
    const ordem = ["ativa", "negociação", "encerrada"];
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Parcerias", sub: "Colaborações com terceiros — diferente de collab entre os perfis próprios." }),
      h("div", { className: "parc-list" }, [...D.parcerias].sort((a, b) => ordem.indexOf(a.status) - ordem.indexOf(b.status)).map((p) => h(Card, { key: p.id, className: "parc-card" },
        h("div", { className: "parc-left" },
          h("div", { className: "parc-nome" }, p.nome),
          h("div", { className: "parc-nota" }, p.nota),
          h("div", { className: "parc-brief" }, "desde " + p.desde + " · " + p.briefings.length + " briefing(s)")
        ),
        h("span", { className: "status-pill big", style: { background: cor[p.status] + "22", color: cor[p.status] } }, p.status)
      )))
    );
  }

  // ══════════════════ APRENDIZADOS ══════════════════
  function Aprendizados() {
    return h("div", { className: "page" },
      h(PageHead, { titulo: "Aprendizados", sub: "O que funcionou e o que evitar. Campo de métricas reservado para o futuro." }),
      h("div", { className: "learn-list" }, D.aprendizados.map((l) => {
        const c = cont(l.conteudo);
        return h(Card, { key: l.id, className: "learn-card" },
          h("div", { className: "learn-head" }, c && h(PerfilTag, { id: c.perfis[0], dot: true }), h("h3", null, c ? c.titulo : "")),
          h("div", { className: "learn-grid" },
            h("div", { className: "learn-cell good" }, h("b", null, "✓ Funcionou"), h("p", null, l.funcionou)),
            h("div", { className: "learn-cell bad" }, h("b", null, "✕ Não funcionou"), h("p", null, l.naoFuncionou)),
            h("div", { className: "learn-cell rep" }, h("b", null, "↻ Repetir"), h("p", null, l.repetir)),
            h("div", { className: "learn-cell avoid" }, h("b", null, "⃠ Evitar"), h("p", null, l.evitar))
          ),
          h("div", { className: "learn-metrics" }, "Métricas numéricas — reservado (populado quando o módulo de métricas existir)")
        );
      }))
    );
  }

  Object.assign(window, { Repertorio, Experiencias, Conhecimento, Biblioteca, Parcerias, Aprendizados });
})();
