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

116 lines
3.8 KiB
Markdown

# 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`:
```javascript
'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
```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:
```javascript
// 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
```javascript
// 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.