feat: add DR Capacity Planner, light/dark mode toggle, and PDF export

- Add zroc-planner UI page with VM selector, journal retention slider (1h-30d),
  WAN compression input, and live bandwidth/journal/mirror storage estimates
- Add CSV and PDF export for planning reports
- Add light/dark mode toggle in TopBar with localStorage persistence
- Wire theme via CSS custom properties for full Tailwind opacity support
- Add Planner route and sidebar entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Justin
2026-04-12 20:29:38 -04:00
parent 5a617fd550
commit b7b9f6191d
10 changed files with 592 additions and 10 deletions
+5
View File
@@ -8,6 +8,11 @@ export function AuthProvider({ children }) {
const [loading, setLoading] = useState(true);
const checkSession = useCallback(async () => {
if (import.meta.env.VITE_MOCK_AUTH === 'true') {
setUser({ name: 'Demo User', email: 'demo@zroc.local', role: 'admin' });
setLoading(false);
return;
}
try {
const res = await fetch('/api/auth/status', { credentials: 'include' });
if (res.ok) {