Files
SteelBase/public/docs-historicos/SOLUCAO-FINAL-CATALOGO.md

3.9 KiB

Solução Final: Catálogo de Perfis

Problema Identificado

O problema tinha duas causas:

1. Classe expanded no HTML

Os elementos tinham class="expanded" no HTML, então ao clicar, a função toggleCategory via que já tinha a classe e a removia em vez de adicionar.

2. localStorage com Configuração Antiga ⚠️ CAUSA PRINCIPAL

O localStorage tinha uma configuração antiga salva onde todos os itens do catálogo estavam como false:

'cantoneiras': false,
'barras-redondas': false,
// ... etc

Quando a página carregava, o código lia do localStorage e sobrescrevia o adminConfig com os valores antigos, mesmo que o código tivesse sido atualizado para true.

Solução Aplicada

1. Removida classe expanded do HTML

<!-- ANTES -->
<div class="sidebar-subcategory expanded">

<!-- DEPOIS -->
<div class="sidebar-subcategory">

2. Forçar Atualização do localStorage

Adicionado código que força os itens do catálogo a serem visíveis, mesmo se o localStorage tiver valores antigos:

// FORCE UPDATE: Ensure catalog items are visible (v7.5 update)
const catalogoItems = ['cantoneiras', 'barras-redondas', 'tubos-circulares', 
                       'perfis-i', 'perfis-w', 'tubos-rhs', 'chapas', 
                       'perfis-hp', 'barras-roscadas', 'barras-chatas'];
catalogoItems.forEach(item => {
    adminConfig.toolsVisibility[item] = true;
});

// Save updated config back to localStorage
localStorage.setItem('acoCalcProAdminConfig', JSON.stringify(adminConfig));

3. Logs Limpos

Removidos os logs excessivos que estavam poluindo o console.

4. Ordem de Execução Corrigida

// 1. Expandir categorias PRIMEIRO
const firstCategory = document.querySelector('.sidebar-category');
firstCategory.classList.add('expanded');

// 2. Expandir subcategorias
subcategories.forEach(subcat => {
    subcat.classList.add('expanded');
    // Force display
    content.style.maxHeight = '5000px';
    content.style.opacity = '1';
    content.style.visibility = 'visible';
});

// 3. Aplicar filtros DEPOIS
applyAdminConfig();
filterToolsByMode();

Como Testar

  1. Limpe o cache do navegador (Ctrl+Shift+Delete)
  2. Faça um hard refresh (Ctrl+Shift+R ou Cmd+Shift+R)
  3. Abra o Console (F12)
  4. Verifique o log: "📋 Verificando configuração do Catálogo de Perfis:"
  5. Todos os 10 itens devem mostrar " visível"
  6. Os itens devem aparecer automaticamente expandidos na sidebar

Resultado Esperado

Ao abrir a aplicação, você deve ver:

🏗️ AÇOS ESTRUTURAIS (expandido)
  ├─ 🤖 Assistente Inteligente (expandido)
  │   ├─ 🤖 Recomendação Integrada
  │   ├─ 🔬 CEV Avançado (IIW + Pcm)
  │   ├─ 🎯 Seletor de Aço Inteligente
  │   ├─ 📊 Equivalências Internacionais
  │   └─ 📈 Comparativo de Aços
  │
  └─ 📐 Catálogo de Perfis (expandido)
      ├─ 📐 Cantoneiras
      ├─ ⭕ Barras Redondas
      ├─ 🔘 Tubos Circulares
      ├─ 🏛️ Perfis I (IPE)
      ├─ 🏗️ Perfis W
      ├─ ▭ Tubos RHS
      ├─ 📄 Chapas
      ├─ 🏛️ Perfis HP
      ├─ 🔩 Barras Roscadas
      └─ ▬ Barras Chatas

Arquivos Modificados

  1. index.html - Removida classe expanded dos elementos
  2. app.js - Forçar atualização do localStorage + ordem de execução
  3. style.css - Melhorado com visibility e !important

Nota Importante

Se você modificar as configurações no Painel Admin e salvar, o localStorage será atualizado. Mas agora, mesmo que você desmarque os itens do catálogo no Admin, eles serão forçados a aparecer na próxima vez que a página carregar (devido ao código de FORCE UPDATE).

Se você quiser permitir que o Admin possa esconder esses itens, remova o bloco de código "FORCE UPDATE" do app.js.