Repository Public
1import './styles.css';2import { QueryClient, QueryClientProvider } from '@tanstack/react-query';3import { StrictMode } from 'react';4import { createRoot } from 'react-dom/client';5import { ApiError } from './api.ts';6import { App } from './App.tsx';7import { applyTheme } from './theme.ts';8import { ToastProvider } from './ui.tsx';910applyTheme();11const queryClient = new QueryClient({12 defaultOptions: { queries: { staleTime: 5_000, refetchOnWindowFocus: true, retry: (n, e) => n < 2 && !(e instanceof ApiError && e.status >= 400 && e.status < 500) }, mutations: { retry: false } },13});14createRoot(document.getElementById('root')!).render(15 <StrictMode><QueryClientProvider client={queryClient}><ToastProvider><App /></ToastProvider></QueryClientProvider></StrictMode>,16);17// Installable app shell. Never registered in development: a stale worker would hide code changes.18if ('serviceWorker' in navigator && import.meta.env.PROD) window.addEventListener('load', () => { void navigator.serviceWorker.register('/sw.js').catch(() => {}); });19