import { Admin } from './Admin';
import { CatchResult, IErrorEventHandler, useErrorEventCatcher } from './dev';
import { useI18nProvider } from './i18n';
import { ThemeCustomizationProvider } from './themes';
import {
AuthBackground,
GenericErrorPage,
Layout,
LoginPage,
MainIcon,
MenuConfigProvider,
MenuItem,
Notification,
SmallIcon
} from '@/components';
import type { PushNotificationConfig } from '@/hooks/usePushNotifications';
import { AppStateProvider } from '@/components/AppStateProvider';
import { ThemeConfig, ThemeProvider } from '@/components/Layout/ThemeProvider';
import { GoogleOAuthProvider } from '@react-oauth/google';
import React, { useMemo } from 'react';
import { AdminProps, AuthProvider, DataProvider, I18nProvider } from 'react-admin';
import { QueryClient } from 'react-query';
const defaultQueryClient = new QueryClient({
defaultOptions: {
queries: {
refetchOnWindowFocus: false
}
}
});
/**
* Define a basic super cool application based on React Admin, Mantis Theme and our style.
*/
function ApplicaAdmin({
theme,
themeConfig,
apiUrl,
defaultLocale = 'en',
development = false,
logoMain,
logoIcon,
loginPage =