summaryrefslogtreecommitdiff
path: root/src/pages/_app.js
diff options
context:
space:
mode:
authorRafi Zadanly <rafizadanly@gmail.com>2022-11-19 13:55:00 +0700
committerRafi Zadanly <rafizadanly@gmail.com>2022-11-19 13:55:00 +0700
commit40bab7be1e0025c7c089e1eac17451ef155a989a (patch)
tree5a87f4fd87f3c6bc0823e58614dd93ca6c97d2c8 /src/pages/_app.js
parent679e565b4594bd172f2576926567a740760ff55e (diff)
Add page transition
Diffstat (limited to 'src/pages/_app.js')
-rw-r--r--src/pages/_app.js25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/pages/_app.js b/src/pages/_app.js
index db14ca15..faa8b2b4 100644
--- a/src/pages/_app.js
+++ b/src/pages/_app.js
@@ -1,23 +1,14 @@
import '../styles/globals.css';
-import NextProgress from "next-progress";
+import NextProgress from 'next-progress';
import { ToastContainer, Slide } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
import Image from 'next/image';
+import { AnimatePresence } from 'framer-motion';
function MyApp({ Component, pageProps }) {
const router = useRouter();
- const [pageLoading, setPageLoading] = useState(false);
-
- useEffect(() => {
- const handleStartLoading = () => { setPageLoading(true) };
- const handleCompleteLoading = () => { setPageLoading(false) };
-
- router.events.on('routeChangeStart', handleStartLoading);
- router.events.on('routeChangeComplete', handleCompleteLoading);
- router.events.on('routeChangeError', handleCompleteLoading);
- }, [router]);
return (
<>
@@ -32,12 +23,12 @@ function MyApp({ Component, pageProps }) {
<NextProgress color="#D7A30A" options={{
showSpinner: false,
}} />
- {pageLoading ? (
- <div className='h-screen w-screen flex flex-col justify-center items-center'>
- <Image src='/images/loading.gif' width={96} height={96} alt='Loading Indoteknik' />
- <h1>Loading</h1>
- </div>
- ) : <Component {...pageProps} />}
+ <AnimatePresence
+ mode='sync'
+ initial={false}
+ >
+ <Component {...pageProps} />
+ </AnimatePresence>
</>
)
}