Skip to content

Commit 5f2a6b8

Browse files
committed
Added Loading Progressbar
1 parent 7f2cea6 commit 5f2a6b8

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { useEffect } from "react";
2+
import { useRouter } from "next/router";
3+
import NProgress from "nprogress";
4+
import "nprogress/nprogress.css";
5+
6+
// Customizing the progress bar speed and look
7+
NProgress.configure({ showSpinner: false, speed: 500, minimum: 0.2 });
8+
9+
const ProgressBar = () => {
10+
const router = useRouter();
11+
12+
useEffect(() => {
13+
const handleStart = () => {
14+
NProgress.start();
15+
};
16+
const handleStop = () => {
17+
setTimeout(() => NProgress.done(), 500); // Delay finishing to prevent flashing
18+
};
19+
20+
router.events.on("routeChangeStart", handleStart);
21+
router.events.on("routeChangeComplete", handleStop);
22+
router.events.on("routeChangeError", handleStop);
23+
24+
return () => {
25+
router.events.off("routeChangeStart", handleStart);
26+
router.events.off("routeChangeComplete", handleStop);
27+
router.events.off("routeChangeError", handleStop);
28+
};
29+
}, [router]);
30+
31+
return null;
32+
};
33+
34+
export default ProgressBar;

0 commit comments

Comments
 (0)