Files
platform/src/apps/officer-web/frontend.tsx
T
2026-02-24 21:59:53 +00:00

47 lines
1.3 KiB
TypeScript

import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { App } from './App';
import { AppRegistry, WidgetRegistry } from 'officerdev';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ColorModeProvider } from '@/components/ui/ThemeProvider';
import { I18nBridge } from '@/lib/I18nBridge';
import { Toaster } from '@/components/ui/toaster';
import { Toaster as Sonner } from 'sonner';
import { TooltipProvider } from '@/components/ui/tooltip';
import './styles/index.css';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
},
},
});
const elem = document.getElementById('root')!;
const app = (
<StrictMode>
<QueryClientProvider client={queryClient}>
<ColorModeProvider>
<I18nBridge>
<TooltipProvider>
<Toaster />
<Sonner position="top-center" toastOptions={{ style: { padding: '16px 20px', fontSize: '16px' } }} />
<AppRegistry />
<WidgetRegistry />
<App />
</TooltipProvider>
</I18nBridge>
</ColorModeProvider>
</QueryClientProvider>
</StrictMode>
);
if (import.meta.hot) {
const root = (import.meta.hot.data.root ??= createRoot(elem));
root.render(app);
} else {
createRoot(elem).render(app);
}