summaryrefslogtreecommitdiff
path: root/src/pages/_app.jsx
diff options
context:
space:
mode:
authorHATEC\SPVDEV001 <tri.susilo@altama.co.id>2023-05-08 16:44:09 +0700
committerHATEC\SPVDEV001 <tri.susilo@altama.co.id>2023-05-08 16:44:09 +0700
commit486f85a45fc7e0669576f59824a31be472ed25bb (patch)
tree0268afa8efe48746e040611ba41ad2cafda7ad08 /src/pages/_app.jsx
parentcff198277e14450f8d20d9e18548325e6f277682 (diff)
parent30fc50600009ca54f085d594d838803c107e87f2 (diff)
Merge branch 'master' into development_tri/implementasi_raja_ongkir
# Conflicts: # src/lib/checkout/components/Checkout.jsx
Diffstat (limited to 'src/pages/_app.jsx')
-rw-r--r--src/pages/_app.jsx35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
index 3c93d27f..2d74d8b7 100644
--- a/src/pages/_app.jsx
+++ b/src/pages/_app.jsx
@@ -1,7 +1,7 @@
import '../styles/globals.css'
import NextProgress from 'next-progress'
import { useRouter, Router } from 'next/router'
-import { AnimatePresence } from 'framer-motion'
+import { AnimatePresence, motion } from 'framer-motion'
import { Toaster } from 'react-hot-toast'
import { QueryClient, QueryClientProvider } from 'react-query'
import useDevice from '@/core/hooks/useDevice'
@@ -17,12 +17,17 @@ function MyApp({ Component, pageProps }) {
const [animateLoader, setAnimateLoader] = useState(false)
useEffect(() => {
- Router.events.on('routeChangeStart', () => setAnimateLoader(true))
- Router.events.on('routeChangeComplete', () => setAnimateLoader(false))
+ 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', () => setAnimateLoader(true))
- Router.events.off('routeChangeComplete', () => setAnimateLoader(false))
+ Router.events.off('routeChangeStart', handleRouteChangeStart)
+ Router.events.off('routeChangeComplete', handleRouteChangeComplete)
+ Router.events.off('routeChangeError', handleRouteChangeComplete)
}
}, [])
@@ -43,11 +48,21 @@ function MyApp({ Component, pageProps }) {
return (
<>
- {animateLoader && (
- <div className='w-screen h-screen z-[500] flex justify-center items-center backdrop-blur'>
- <LogoSpinner />
- </div>
- )}
+ <AnimatePresence>
+ {animateLoader && (
+ <motion.div
+ initial={{ opacity: 0 }}
+ animate={{ opacity: 1 }}
+ exit={{ opacity: 0 }}
+ transition={{
+ duration: 0.1
+ }}
+ className='fixed w-screen h-screen z-[500] bg-white flex justify-center items-center'
+ >
+ <LogoSpinner />
+ </motion.div>
+ )}
+ </AnimatePresence>
<Toaster
position='top-center'
containerStyle={toasterStyle}