Uecko_ERP/apps/web/src/App.tsx

55 lines
2.1 KiB
TypeScript
Raw Normal View History

2025-05-05 09:27:00 +00:00
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
import { Suspense, useState } from "react";
2025-05-02 21:43:51 +00:00
2025-05-05 17:11:44 +00:00
import { Button, Toaster, TooltipProvider } from "@repo/shadcn-ui/components";
2025-05-05 09:27:00 +00:00
import { I18nextProvider } from "react-i18next";
2025-05-05 17:11:44 +00:00
import { DataSourceProvider, ThemeProvider, UnsavedWarnProvider } from "./lib/hooks";
2025-05-05 09:27:00 +00:00
import { i18n } from "./locales";
2025-05-02 21:43:51 +00:00
2025-05-05 17:11:44 +00:00
import "@repo/shadcn-ui/globals.css";
import { LoadingOverlay, TailwindIndicator } from "@repo/rdx-ui/components";
2025-05-02 21:43:51 +00:00
function App() {
2025-05-05 09:27:00 +00:00
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
staleTime: 10000, // Specify a staleTime to only fetch when the data is older than a certain amount of time
},
},
});
2025-05-02 21:43:51 +00:00
const [count, setCount] = useState(0);
return (
2025-05-05 09:27:00 +00:00
<I18nextProvider i18n={i18n}>
<QueryClientProvider client={queryClient}>
<DataSourceProvider dataSource={createAxiosDataProvider(import.meta.env.VITE_API_URL)}>
<ThemeProvider defaultTheme='light' storageKey='vite-ui-theme'>
<TooltipProvider delayDuration={0}>
<UnsavedWarnProvider>
<Suspense fallback={<LoadingOverlay />}>
<div className='container mx-auto p-4'>
<h1 className='text-xl font-bold mb-2'>This is a Vite application</h1>
<p className='mb-4'>
This shadcn/ui button is shared between Vite, NextJS and any other
application.
</p>
<Button onClick={() => setCount((count) => count + 1)}>Count is {count}</Button>
</div>
</Suspense>
</UnsavedWarnProvider>
</TooltipProvider>
<Toaster />
<TailwindIndicator />
{import.meta.env.MODE === "development" && <ReactQueryDevtools initialIsOpen={false} />}
</ThemeProvider>
</DataSourceProvider>
</QueryClientProvider>
</I18nextProvider>
2025-05-02 21:43:51 +00:00
);
}
export default App;