116 lines
3.8 KiB
Markdown
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.
|