import { Hydrate, QueryClient, QueryClientProvider, } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { SessionProvider } from 'next-auth/react'; import { appWithTranslation } from 'next-i18next'; import Head from 'next/head'; import { useState } from 'react'; import Layout from '../components/layout/base-layout/Layout'; import '../styles/globals.css'; import { useRouter } from 'next/router'; import { useEffect } from 'react'; const LoadingSpinner = () => { const router = useRouter(); const [loading, setLoading] = useState(false); useEffect(() => { const handleStart = (url) => url !== router.asPath && setLoading(true); const handleComplete = (url) => url === router.asPath && setLoading(false); router.events.on('routeChangeStart', handleStart); router.events.on('routeChangeComplete', handleComplete); router.events.on('routeChangeError', handleComplete); return () => { router.events.off('routeChangeStart', handleStart); router.events.off('routeChangeComplete', handleComplete); router.events.off('routeChangeError', handleComplete); }; }); return ( loading && (