# Guia de Estilização da Sidebar - Destaque Dourado ## Objetivo Implementar destaque dourado para o item ativo/selecionado na sidebar, harmonizando com a identidade visual do PraFrota. ## Funcionalidade de Expansão Temporária A sidebar possui uma funcionalidade inteligente de expansão temporária quando está recolhida (collapsed). Esta feature melhora significativamente a UX ao permitir acesso rápido aos subitens sem perder a economia de espaço. ```mermaid flowchart TD A["Usuário clica em item
com subitens"] --> B{"Sidebar está
collapsed?"} B -->|Não| C["Comportamento normal:
Alterna expanded"] B -->|Sim Desktop| D["Expansão temporária:
isTemporarilyExpanded = true"] D --> E["Sidebar expande para 240px
Mostra texto e subitens"] E --> F["Timer de 10s inicia"] F --> G{"Usuário clica
em subitem?"} G -->|Sim| H["Navega para rota
Fecha expansão temporária"] G -->|Não - 10s| I["Auto-fecha expansão"] J["Clique fora da sidebar"] --> K["Fecha expansão temporária"] L["Estados da Sidebar"] --> M["Normal: width 240px"] L --> N["Collapsed: width 80px"] L --> O["Temp Expanded: width 240px
z-index maior"] style D fill:#f1c232,color:#000 style E fill:#e8f5e8 style H fill:#e8f5e8 style O fill:#fff2cc ``` ### Estados da Sidebar: - **Normal** (240px): Totalmente expandida com todos os elementos visíveis - **Collapsed** (80px): Apenas ícones visíveis para economia de espaço - **Temporarily Expanded** (240px): Expansão temporária com z-index elevado e sombra destacada ### Comportamentos: - **Desktop**: Expansão temporária inteligente com auto-fechamento - **Mobile**: Mantém comportamento de toggle completo existente - **Auto-fechamento**: Timer de 10 segundos ou clique fora da sidebar - **Navegação**: Fecha imediatamente ao selecionar um subitem ## Implementação ### 1. Variáveis CSS Ajustadas #### Theme Claro (`:root`) ```scss --active-bg: #FFF8E1; // Fundo dourado suave ``` #### Theme Escuro (`.dark-theme`) ```scss --active-bg: rgba(241, 196, 15, 0.2); // Fundo dourado translúcido ``` ### 1.1. Classes para Expansão Temporária #### Sidebar Temporariamente Expandida ```scss .sidebar.temporarily-expanded { width: 240px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important; z-index: 1003 !important; } .sidebar.temporarily-expanded .menu-text, .sidebar.temporarily-expanded .notification, .sidebar.temporarily-expanded .expand-icon, .sidebar.temporarily-expanded .submenu { display: block !important; } .sidebar.temporarily-expanded .menu-item { justify-content: flex-start !important; padding: 0.75rem 1rem !important; } ``` ### 2. Aplicação na Sidebar #### Menu Principal O destaque é aplicado automaticamente através da classe `.active` no item selecionado da sidebar: ```scss .menu > ul > li.active > .menu-item { background-color: #FFC82E; color: #8B4513; font-weight: 600; border-radius: 12px; margin: 0 0.75rem; border-left: none; } ``` #### Submenu O submenu segue o mesmo padrão visual: ```scss .submenu li.active .submenu-item { background-color: #FFC82E; color: #8B4513; font-weight: 600; border-radius: 8px; margin: 0.25rem 0.75rem; } .submenu-item:hover { background-color: rgba(255, 200, 46, 0.1); color: var(--primary); } ``` ### 3. Cores e Estilos Utilizados - **Fundo**: `#FFC82E` (Dourado vibrante) - **Texto**: `#8B4513` (Marrom escuro para contraste) - **Fonte**: Peso 600 (semi-bold) para destaque - **Formato**: Cantos arredondados (12px) - **Margem**: 0.75rem nas laterais para criar espaçamento ### 4. Resultado Visual #### Menu Principal e Submenu - ✅ Destaque dourado harmonioso com a identidade visual - ✅ Boa legibilidade em ambos os temas (claro/escuro) - ✅ Consistência com o header e outras partes da aplicação - ✅ Feedback visual claro para o usuário - ✅ Submenu com mesmo padrão visual (cantos arredondados menores) - ✅ Hover suave com cor dourada translúcida - ✅ Hierarquia visual clara entre menu principal e submenu ### 5. Arquivos Modificados - `projects/idt_app/src/assets/styles/app.scss` - Variáveis CSS globais - `projects/idt_app/src/app/shared/components/sidebar/sidebar.component.ts` - Funcionalidade de expansão temporária ### 6. Estrutura da Sidebar A sidebar utiliza a classe `active` para destacar o item selecionado: ```html
  • ``` ## Notas Técnicas - As cores são definidas via variáveis CSS para facilitar manutenção - O sistema de temas é totalmente suportado - A implementação é reutilizável em outros componentes - Não há impacto na performance ou funcionalidade ## Validação ### Estilização - ✅ Build bem-sucedido - ✅ Compatibilidade com temas claro/escuro - ✅ Harmonia visual com a identidade da aplicação ### Funcionalidade de Expansão Temporária - ✅ Expansão automática ao clicar em itens com subitens (quando collapsed) - ✅ Auto-fechamento após 10 segundos de inatividade - ✅ Fechamento ao clicar fora da sidebar - ✅ Fechamento imediato ao navegar para subitem - ✅ Comportamento responsivo (desktop vs mobile) - ✅ Z-index elevado para sobrepor conteúdo - ✅ Transições suaves e visuais destacados