import 'src/global.css'; import { useEffect } from 'react'; import { AuthProvider as AmplifyAuthProvider } from 'src/auth/context/amplify'; import { AuthProvider as Auth0AuthProvider } from 'src/auth/context/auth0'; import { AuthProvider as FirebaseAuthProvider } from 'src/auth/context/firebase'; import { AuthProvider as JwtAuthProvider } from 'src/auth/context/jwt'; import { AuthProvider as SupabaseAuthProvider } from 'src/auth/context/supabase'; import { MotionLazy } from 'src/components/animate/motion-lazy'; import { ProgressBar } from 'src/components/progress-bar'; import { defaultSettings, SettingsDrawer, SettingsProvider } from 'src/components/settings'; import { Snackbar } from 'src/components/snackbar'; import { CONFIG } from 'src/global-config'; import { LocalizationProvider } from 'src/locales'; import { I18nProvider } from 'src/locales/i18n-provider'; import { usePathname } from 'src/routes/hooks'; import { CheckoutProvider } from 'src/sections/checkout/context'; import { themeConfig, ThemeProvider } from 'src/theme'; // ---------------------------------------------------------------------- const AuthProvider = (CONFIG.auth.method === 'amplify' && AmplifyAuthProvider) || (CONFIG.auth.method === 'firebase' && FirebaseAuthProvider) || (CONFIG.auth.method === 'supabase' && SupabaseAuthProvider) || (CONFIG.auth.method === 'auth0' && Auth0AuthProvider) || JwtAuthProvider; // ---------------------------------------------------------------------- type AppProps = { children: React.ReactNode; }; export default function App({ children }: AppProps) { useScrollToTop(); return ( {children} ); } // ---------------------------------------------------------------------- function useScrollToTop() { const pathname = usePathname(); useEffect(() => { window.scrollTo(0, 0); }, [pathname]); return null; }