comic_viewer/src/main.tsx

27 lines
1.0 KiB
TypeScript

import { ColorScheme, ColorSchemeProvider, MantineProvider } from '@mantine/core';
import { useColorScheme } from '@mantine/hooks';
import { Notifications } from '@mantine/notifications';
import React, { FC, useState } from 'react';
import ReactDOM from 'react-dom/client';
import { MainLayout } from './MainLayout';
import { useAppTheme } from './theme';
const AppMain: FC = () => {
const preferredColorScheme = useColorScheme();
const [colorScheme, setColorScheme] = useState<ColorScheme>(preferredColorScheme);
const theme = useAppTheme();
return (
<React.StrictMode>
<ColorSchemeProvider colorScheme={colorScheme} toggleColorScheme={setColorScheme}>
<MantineProvider theme={theme} withGlobalStyles withNormalizeCSS>
<Notifications position="bottom-right" limit={5} zIndex={999} />
<MainLayout />
</MantineProvider>
</ColorSchemeProvider>
</React.StrictMode>
);
};
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(<AppMain />);