Disponibilizar uma plataforma de reporte ESG completa para PMEs, com autenticação, perfis de utilizador, fases F0-F4, recolha estruturada de dados, materialidade, estratégia, reporte, geração de PDF e relatório VSME simplificado, mantendo paridade funcional e visual suficiente com a aplicação WordPress original.
Autenticação, perfis, roles, storage, dados de teste e estrutura principal da aplicação.
Autoavaliação e diagnóstico com módulos ambientais, sociais, governação, enquadramento, cadeia de valor e ODS.
Stakeholders, matrizes, avaliação, tópicos materiais e navegação entre M1-M8.
Plano de ação, eixos estratégicos e statements ESG.
Módulos R1-R5, VSME V1-V4 e geração de relatórios.
E3, R2, R3, R4, nomenclatura de partes interessadas e VSME corrigidos e publicados em produção.
12 pedidos mapeados, plano em 7 milestones técnicas (M1-M7).
Patch ao SelectValue (base-ui) com prop `items` para mostrar label do item selecionado.
Hiperligações para Materiality Map e Materiality Finder acima dos textareas.
Chips de ODS 1-17 + migração `e3_ods_estrategia` aplicada em produção.
Tabela Fornecimentos visualmente agrupada com nomenclatura WP; D3 com tooltips Direto/Indirecto.
22 textos extraídos do WP (campo ACF descricao_da_pagina) e injectados via ModuleIntro em todas as páginas (excepto VSME V1-V4 que ainda estão em lorem ipsum no WP).
`departamento_responsavel` (texto livre) por ação no E1 + `eixo_prioritario` (texto livre) por tópico no E2 (no WP eixo vive em `definicao_eixos_data`); render no PDF F3 (E1 antes não saía).
`VsmeReport` ganhou prop `variant: "basic" \| "comprehensive"` com mapeamento estruturado para 11 capítulos B1-B11 e 9 capítulos C1-C9; dois novos cards na página `/relatorios`.
Replicado o pattern do F2 (capa banda + esg lab/scoring® + módulos com `F2ModuleHeader`/`F2Footer` + cards/F3KvTable) aos 5 relatórios restantes em commits separados (`6e03c15` F1, `75b0e93` F3, `3dc7712` F4, `470d290` F0, `6845c22` VSME). Fix global de orphan rows / título widow em `b0b8929` via `wrap={false}` + `minPresenceAhead`.
Componente InfoTip partilhado; tooltips do WP inseridos em todos os campos relevantes de M3 (Comunicação, Nível Envolvimento, Natureza, Mecanismos) e M5 (Enquadramento, Tópico, Subtópico, Caracterização, Descrição Impacto, Descrição Risco).
CaeAutocomplete com 1144 entradas nível-5 do CSV WP; ao seleccionar preenche automaticamente Descrição CAE e Descrição NACE.
E2 agora carrega tópicos materiais de M7 e apresenta 1 card por tópico com Eixo Prioritário editável + readonly summary do Plano de Ação E1.
Campo "Nº 80%" cria linhas automaticamente; "Nº total" é livre; idêntico ao WP original.
V1 (B1/B2/C1/C8), V2 (B3/C3/B4/C4/B5/B6/B7), V3 (B8/C5/B9/B10/C6/C7), V4 (B11/C8/C9). Mapeamento extraído dos shortcodes WP.
R1: 1.1/1.2/1.3/1.4 · R3: 3.1/3.2 + 4./5./6. · R5: 10/11. R4 mantém 7/8/9 + Perspetivas (sem número, evita colisão).
Aguarda confirmação + textos da Beatriz (única questão genuína; ver "À espera de").
Cliente ainda tem lorem ipsum no WP; reextrair quando preencher.
Beatriz revê todas as alterações em produção.
D1 read-only + upload logo, sidebar destaque, 17 ícones ODS, refactor PDFs (capa empresa+NIF+logo cliente, header/footer partilhados, foto admin no F3), filtros admin, naming uniforme `NIF_Empresa_Fase_Data_Hora`, bugs VSME corrigidos. Implementado em paralelo Claude+2 Codex via worktrees separados; tudo merged em main e validado em produção.
Domain `notificacoes.scoringesglab.pt` verificado em Resend (DNS na zona scoringesglab.pt do cPanel). App + Supabase Auth via Resend (3000/mês). Novo design HTML branded com CTA bulletproof (Outlook VML) em `src/lib/email/render.ts`, preview iframe na admin `/admin/emails`. Página de preview pública para cliente: https://esg-lab-email-preview.178.104.242.232.sslip.io.
Beatriz/Carlos revêem alterações em produção (especialmente capa nova dos PDFs e ícones ODS).
os campos de `f4_vsme` (`enquadramento/ambiental/social/governacao`) foram mapeados para os capítulos B1-B11 e C1-C9 sem normativo oficial detalhado. Cliente pode pedir reorganização. Mitigação: mapping centralizado em `vsmeVariantConfig` no `report-template.tsx` — fácil de ajustar.
Next tem array de planos por tópico em E1 e form livre em E2; WP tem 1 plano único por tópico em E1 e tabela read-only em E2. Risco: cliente compara com print do WP e estranha. Mitigação: dívida técnica conhecida; refactor não foi pedido.
se rendering depende de estado inicial inválido, fix superficial pode reaparecer. Mitigação: audit de todos os selects da F2.