scroll top on navigate

This commit is contained in:
Evert Prants 2022-10-16 17:42:41 +03:00
parent e625f97027
commit aceb33fe6a
Signed by: evert
GPG Key ID: 1688DA83D222D0B5

25
plugins/scroll-top.ts Normal file
View File

@ -0,0 +1,25 @@
import { defineNuxtPlugin } from '#imports';
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.$router.options.scrollBehavior = async (to, from, savedPosition) => {
let goTo;
if (to.hash) {
goTo = {
el: to.hash,
behavior: 'smooth',
top: 64,
};
} else if (savedPosition) {
goTo = savedPosition;
} else {
goTo = { top: 0 };
}
return new Promise((resolve) => {
setTimeout(() => {
resolve(goTo);
}, 100);
});
};
});