# 02 — Toggle da sidebar (tema Notch)

Foco dos 2 PRs aplicados (ver [02-pull-requests.md](../02-pull-requests.md)):
recolher/expandir a barra lateral no tema **Notch**. A lógica vive em
[`BuilderTemplate.js`](../../web/mad-framework/app/lib/include/builder/theme-notch/BuilderTemplate.js)
(`initSidebarToggle` / `BuilderTemplate.initSidebarToggle()`), na versão da
branch `fix/toggle-menu-builder-template` mantida na resolução do conflito.

> Pré-condição geral: smoke test ([00-smoke.md](00-smoke.md)) passando, tema
> **Notch** ativo, usuário autenticado.

## Casos

### SBR-01 — Recolher a sidebar
- **Passos:**
  1. Com a sidebar expandida, clicar no botão de toggle.
- **Esperado:** a sidebar recolhe; o conteúdo principal acompanha a largura.
- **Obtido:** ⏳

### SBR-02 — Expandir a sidebar
- **Pré-condição:** sidebar recolhida (SBR-01).
- **Passos:**
  1. Clicar novamente no botão de toggle.
- **Esperado:** a sidebar volta ao estado expandido.
- **Obtido:** ⏳

### SBR-03 — Persistência do estado (localStorage)
- **Passos:**
  1. Recolher a sidebar.
  2. Recarregar a página (F5) e/ou navegar para outra tela.
- **Esperado:** o estado recolhido/expandido é mantido entre navegações
  (persistido em `localStorage`).
- **Obtido:** ⏳

### SBR-04 — Sem listeners de clique duplicados
- **Contexto:** a versão `fix/...` adiciona guarda
  (`button.onNotchSidebarToggleClick`) contra registrar o listener mais de uma
  vez.
- **Passos:**
  1. Navegar entre várias telas que re-renderizam o template.
  2. Clicar no toggle uma única vez.
- **Esperado:** um clique = uma alternância (a sidebar não "pisca" alternando
  duas vezes por clique).
- **Obtido:** ⏳

### SBR-05 — Responsividade / mobile
- **Passos:**
  1. Reduzir a largura da janela (breakpoint mobile) e operar o toggle.
- **Esperado:** comportamento coerente em telas estreitas; sem sobreposição
  quebrada do conteúdo.
- **Obtido:** ⏳

## Resultado

| Caso | Status | Observação |
|------|--------|------------|
| SBR-01 | ⏳ | |
| SBR-02 | ⏳ | |
| SBR-03 | ⏳ | |
| SBR-04 | ⏳ | |
| SBR-05 | ⏳ | |
