From 2ea216b8fc51bda69052bdd77a42835ba57ee77f Mon Sep 17 00:00:00 2001 From: JotaChina Date: Sat, 13 Dec 2025 21:41:26 -0300 Subject: [PATCH] Teste de filtros de projetos --- pages/projetos.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pages/projetos.md b/pages/projetos.md index 024407af..de331ff3 100755 --- a/pages/projetos.md +++ b/pages/projetos.md @@ -364,17 +364,25 @@ document.addEventListener('DOMContentLoaded', () => { cards.forEach(card => { const cardKey = normalizarChaveJS(card.dataset.title); // 2. Busca instantânea (O(1)) - const info = mapDados[cardKey]; + const info = mapDados[cardKey]; // <--- A variável foi definida aqui como 'info' if (info) { - // 1. Salvar Metadados nos atributos HTML para usar nos filtros + // 1. Salvar Metadados nos atributos HTML card.dataset.genre = (info.analise_ia && info.analise_ia.genero_macro) ? info.analise_ia.genero_macro : "Unknown"; card.dataset.intensity = (info.analise_tecnica && info.analise_tecnica.intensidade_db) ? parseFloat(info.analise_tecnica.intensidade_db) : 0; card.dataset.bpm_real = (info.analise_tecnica && info.analise_tecnica.bpm) ? parseFloat(info.analise_tecnica.bpm) : 0; // 2. Injetar Etiquetas Visuais no Card const bpmContainer = card.querySelector('.bpm-container'); - const estrelasHTML = gerarEstrelas(projeto.analise_tecnica.complexidade.estrelas); + + // CORREÇÃO AQUI: Verificamos se 'info' tem complexidade antes de tentar ler, para não quebrar o código + let numeroEstrelas = 0; + if (info.analise_tecnica.complexidade && info.analise_tecnica.complexidade.estrelas) { + numeroEstrelas = info.analise_tecnica.complexidade.estrelas; + } + + // Agora usamos a variável correta e o valor seguro + const estrelasHTML = gerarEstrelas(numeroEstrelas); // Se achou o container do BPM, insere as novas tags logo após if (bpmContainer) {