mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 08:46:39 +02:00
- Add Light/Dark/System theme toggle with ThemeContext and CSS variables - Sidebar fully collapsible (icons-only mode, persisted in localStorage) - Anwendungen section collapsible with chevron toggle - Admin "Anpassungen" page: logo upload, sidebar color picker with presets - Backend branding endpoints (GET/POST /settings/branding) stored in Redis - Optional custom icon upload for external links (click icon field) - Backend favicon proxy with HTML parsing for reliable icon loading - Dark mode CSS variables for all components - Login page SSO button and error styles use CSS variables Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
889 B
TypeScript
32 lines
889 B
TypeScript
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { AuthProvider } from './auth/AuthContext';
|
|
import { ThemeProvider } from './theme/ThemeContext';
|
|
import { App } from './shell/App';
|
|
import './index.css';
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 1,
|
|
staleTime: 5 * 60 * 1000, // 5 Minuten
|
|
refetchOnWindowFocus: false,
|
|
},
|
|
},
|
|
});
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
<React.StrictMode>
|
|
<BrowserRouter>
|
|
<QueryClientProvider client={queryClient}>
|
|
<ThemeProvider>
|
|
<AuthProvider>
|
|
<App />
|
|
</AuthProvider>
|
|
</ThemeProvider>
|
|
</QueryClientProvider>
|
|
</BrowserRouter>
|
|
</React.StrictMode>,
|
|
);
|