feat: implementar sidebar colapsavel profissional

Substitui navegacao por header/menu mobile por sidebar lateral colapsavel
com toggle, persistencia localStorage e responsividade automatica.

- Novo componente Layout.tsx com sidebar, tooltips e overlay mobile
- Estado colapsado persistido em localStorage (desktop)
- Colapsada por defeito em mobile com drawer animado
- Animacoes suaves via framer-motion (spring)
- Removida navegacao duplicada de App.tsx, Monitor.tsx e Financial.tsx
- Rotas envolvidas pelo Layout via React Router Outlet

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 14:58:06 +00:00
parent 8148eb47fe
commit a4271fd06a
5 changed files with 340 additions and 226 deletions
+7 -4
View File
@@ -6,6 +6,7 @@ import './index.css'
import App from './App.tsx'
import Monitor from './pages/Monitor.tsx'
import Financial from './pages/Financial.tsx'
import Layout from './components/Layout.tsx'
import { oidcConfig } from './auth/config.ts'
import { AuthWrapper } from './auth/AuthWrapper.tsx'
@@ -15,10 +16,12 @@ createRoot(document.getElementById('root')!).render(
<BrowserRouter>
<AuthWrapper>
<Routes>
<Route path="/" element={<App />} />
<Route path="/monitor" element={<Monitor />} />
<Route path="/financial" element={<Financial />} />
<Route path="/callback" element={<App />} />
<Route element={<Layout />}>
<Route path="/" element={<App />} />
<Route path="/monitor" element={<Monitor />} />
<Route path="/financial" element={<Financial />} />
<Route path="/callback" element={<App />} />
</Route>
</Routes>
</AuthWrapper>
</BrowserRouter>