import '../styles/globals.css' import 'react-loading-skeleton/dist/skeleton.css' import NextProgress from 'next-progress' import { useRouter, Router } from 'next/router' import { AnimatePresence, motion } from 'framer-motion' import { Toaster } from 'react-hot-toast' import { QueryClient, QueryClientProvider } from 'react-query' import useDevice from '@/core/hooks/useDevice' import { createContext, useContext, useEffect, useState } from 'react' import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner' import { SessionProvider } from 'next-auth/react' import { getAuth } from '@/core/utils/auth' const queryClient = new QueryClient() export const AuthContext = createContext({ authenticated : false, setAuthenticated : (auth) => {} }) function MyApp({ Component, pageProps: { session, ...pageProps } }) { const router = useRouter() const { isMobile } = useDevice() const [animateLoader, setAnimateLoader] = useState(false) const [authenticated, setAuthenticated] = useState(null) const auth = getAuth() // useEffect(() => { // setAuthenticated(auth) // }, [auth]) useEffect(() => { const handleRouteChangeStart = () => setAnimateLoader(true) const handleRouteChangeComplete = () => setAnimateLoader(false) Router.events.on('routeChangeStart', handleRouteChangeStart) Router.events.on('routeChangeComplete', handleRouteChangeComplete) Router.events.on('routeChangeError', handleRouteChangeComplete) return () => { Router.events.off('routeChangeStart', handleRouteChangeStart) Router.events.off('routeChangeComplete', handleRouteChangeComplete) Router.events.off('routeChangeError', handleRouteChangeComplete) } }, []) const [toasterStyle, setToasterStyle] = useState({}) useEffect(() => { let elems = document.querySelectorAll('nav') let totalNavHeight = 0 elems.forEach(function (elem) { totalNavHeight += elem.offsetHeight }) setToasterStyle({ marginTop: isMobile ? totalNavHeight - 8 : totalNavHeight }) }, [isMobile]) return ( // {animateLoader && ( )} window.scrollTo(0, 0)} > {!animateLoader && } // ) } export default MyApp