You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Portfolio/src/pages/app.tsx

41 lines
1.1 KiB

import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
import NotFound from "./404";
import Index from "./index";
import useLocalStorageState from "use-local-storage-state";
import { ThemeProvider } from "styled-components";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import { FunctionalComponent } from "preact";
import { lightTheme, darkTheme } from "@utils/theme";
import CssBaseline from "@components/CssBaseline";
const queryClient = new QueryClient();
const App: FunctionalComponent = () => {
const [darkMode] = useLocalStorageState("darkMode", { defaultValue: true });
return (
<ThemeProvider theme={darkMode ? darkTheme : lightTheme}>
<CssBaseline />
<QueryClientProvider client={queryClient}>
<ReactQueryDevtools initialIsOpen={false} />
<BrowserRouter>
<Routes>
<Route path="/" element={<Index />} />
<Route path="*" element={<NotFound />} />
</Routes>
</BrowserRouter>
</QueryClientProvider>
</ThemeProvider>
);
};
export default App;