This commit is contained in:
2026-02-16 19:34:35 +00:00
commit 9ab0940ca4
784 changed files with 41710 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { App } from './App';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ThemeProvider } from '@/components/ui/ThemeProvider';
import { Toaster } from '@/components/ui/toaster';
import { Toaster as Sonner } from 'sonner';
import { TooltipProvider } from '@/components/ui/tooltip';
import './styles/index.css';
const headLinks = [
{ rel: 'icon', type: 'image/svg+xml', href: '/static/favicon.svg' },
{ rel: 'icon', type: 'image/png', sizes: '96x96', href: '/static/favicon-96x96.png' },
{ rel: 'apple-touch-icon', href: '/static/apple-touch-icon.png' },
{ rel: 'manifest', href: '/static/site.webmanifest' },
];
for (const attrs of headLinks) {
const link = document.createElement('link');
for (const [key, value] of Object.entries(attrs)) link.setAttribute(key, value);
document.head.appendChild(link);
}
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
},
},
});
const elem = document.getElementById('root')!;
const app = (
<StrictMode>
<QueryClientProvider client={queryClient}>
<ThemeProvider defaultTheme="light" storageKey="officer-theme">
<TooltipProvider>
<Toaster />
<Sonner position="top-center" toastOptions={{ style: { padding: '16px 20px', fontSize: '16px' } }} />
<App />
</TooltipProvider>
</ThemeProvider>
</QueryClientProvider>
</StrictMode>
);
if (import.meta.hot) {
const root = (import.meta.hot.data.root ??= createRoot(elem));
root.render(app);
} else {
createRoot(elem).render(app);
}