summaryrefslogtreecommitdiff
path: root/src/core/components/ScrollToTop.jsx
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-31 09:03:22 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-31 09:03:22 +0700
commitb8764138241116e0c741a7786364f5630080720c (patch)
treecaf4396671469bc6ac992c9b741fe3f8701c986e /src/core/components/ScrollToTop.jsx
parent3f849355048e5c280a35a5747577e5296b90e9fd (diff)
parent0550b0dbe9b8e369cfe211b78ab0de49a6e1f49d (diff)
Merge branch 'release' into feature/all-promotion
Diffstat (limited to 'src/core/components/ScrollToTop.jsx')
-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;