import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { RouterProvider } from '@tanstack/react-router'; import { makeRouter } from './router'; import { ToastProvider } from './components/Toast'; import { TooltipProvider } from '@/components/ui/tooltip'; import { bootTelegram } from './lib/telegram'; import { bootTheme } from './lib/theme'; import { ApiError, setDemo } from './lib/api'; import './styles/globals.css'; import './styles/landing.css'; bootTelegram(); bootTheme(); if (new URLSearchParams(window.location.search).get('demo') === '1') setDemo(true); const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, retry: (count, error) => !(error instanceof ApiError && error.status >= 400 && error.status < 500) && count < 2 }, }, }); const router = makeRouter(queryClient); createRoot(document.getElementById('root')!).render( , );