Files
family_wishlist/apps/frontend/src/App.tsx
2026-04-26 22:16:59 +03:00

38 lines
970 B
TypeScript

import { useEffect } from 'react';
import { RouterProvider } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { Toaster } from 'sonner';
import { router } from './routes';
import { useAuthStore } from './features/auth/authStore';
import { I18nProvider } from './i18n/i18n';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
refetchOnWindowFocus: false,
retry: 1,
},
},
});
function AuthBoot({ children }: { children: React.ReactNode }) {
const init = useAuthStore((s) => s.init);
useEffect(() => {
void init();
}, [init]);
return <>{children}</>;
}
export function App() {
return (
<I18nProvider>
<QueryClientProvider client={queryClient}>
<AuthBoot>
<RouterProvider router={router} />
</AuthBoot>
<Toaster position="top-center" richColors closeButton />
</QueryClientProvider>
</I18nProvider>
);
}