import {useEffect} from 'react';
import 'leaflet/dist/leaflet.css';
import '../public/leaflet_reset.css';
import Head from 'next/head';
import CssBaseline from '@mui/material/CssBaseline';
import {ThemeProvider, Theme} from '@mui/material/styles';
import {AppProps} from 'next/app';
import {appWithTranslation, useTranslation} from 'next-i18next';
import {ApolloProvider} from '@apollo/client';
import {LocalizationProvider} from '@mui/x-date-pickers/LocalizationProvider';
import {AdapterMoment} from '@mui/x-date-pickers/AdapterMoment';
import {SessionProvider} from 'next-auth/react';
import Metas from '../containers/Metas';
import Toasts from '../components/Toasts';
import theme from '../theme';
import useLocale from '../hooks/useLocale';
import {useApollo} from '../lib/apolloClient';
import nextI18NextConfig from '../next-i18next.config.js';
import moment from 'moment';
import useTolgee from '../hooks/useTolgee';
declare module '@mui/styles/defaultTheme' {
interface DefaultTheme extends Theme {}
}
const App = function (props: AppProps) {
const {Component, pageProps} = props;
const apolloClient = useApollo(pageProps);
const {locale} = useLocale();
useTolgee();
moment.locale(locale);
useEffect(() => {
// Remove the server-side injected CSS.
const jssStyles = document.querySelector('#jss-server-side');
if (jssStyles) {
jssStyles.parentElement!.removeChild(jssStyles);
}
}, []);
return (
);
};
const AppWrapper = (props: AppProps) => (
);
export default appWithTranslation(AppWrapper, nextI18NextConfig);