/* * Copyright (C) Contributors to the Suwayomi project * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { StyledEngineProvider, ThemeProvider } from '@mui/material/styles'; import LibraryOptionsContextProvider from 'components/library/LibraryOptionsProvider'; import NavBarContextProvider from 'components/navbar/NavBarContextProvider'; import React, { useMemo } from 'react'; import { BrowserRouter as Router, Route } from 'react-router-dom'; import { SWRConfig } from 'swr'; import createTheme from 'theme'; import { QueryParamProvider } from 'use-query-params'; import useLocalStorage from 'util/useLocalStorage'; import DarkTheme from 'components/context/DarkTheme'; interface Props { children: React.ReactNode; } const AppContext: React.FC = ({ children }) => { const [darkTheme, setDarkTheme] = useLocalStorage('darkTheme', true); const darkThemeContext = useMemo( () => ({ darkTheme, setDarkTheme, }), [darkTheme], ); const theme = useMemo(() => createTheme(darkTheme), [darkTheme]); return ( {children} ); }; export default AppContext;