summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-25 16:05:26 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-25 16:05:26 +0700
commit838f2c7f5790c10779cfd32944c52f75713a4a05 (patch)
tree6f24c7e36ca86adb37e3524c32e986bbe7b820d0 /src/core
parentfb3be45e5246e588628723b3d4c0f901c8b260a2 (diff)
Add scroll to top component
Diffstat (limited to 'src/core')
-rw-r--r--src/core/components/ScrollToTop.jsx24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/components/ScrollToTop.jsx b/src/core/components/ScrollToTop.jsx
new file mode 100644
index 00000000..f8e85167
--- /dev/null
+++ b/src/core/components/ScrollToTop.jsx
@@ -0,0 +1,24 @@
+import { useEffect } from 'react';
+import { useRouter } from 'next/router';
+
+const ScrollToTop = () => {
+ const router = useRouter();
+
+ useEffect(() => {
+ const handleRouteChange = (url, { shallow }) => {
+ if (!shallow) {
+ window.scrollTo(0, 0);
+ }
+ };
+
+ router.events.on('routeChangeComplete', handleRouteChange);
+
+ return () => {
+ router.events.off('routeChangeComplete', handleRouteChange);
+ };
+ }, [router.events]);
+
+ return null;
+};
+
+export default ScrollToTop;