1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-30 16:17:41 +01:00

- Fixed Sidebar scroll effect for last element in the settingLinks

This commit is contained in:
Heman Sran 2023-12-29 13:06:56 -07:00
parent 11ea61d80b
commit 544ed48741

View file

@ -82,17 +82,20 @@ export function SidebarPart() {
const el = document.getElementById(link.id);
if (!el) return { distance: Infinity, link: link.id };
const rect = el.getBoundingClientRect();
const distanceTop = Math.abs(centerTarget - rect.top);
const distanceBottom = Math.abs(centerTarget - rect.bottom);
const distance = Math.min(distanceBottom, distanceTop);
return { distance, link: link.id };
})
.sort((a, b) => a.distance - b.distance);
// shortest distance to the part of the screen we want is the active link
setActiveLink(viewList[0]?.link ?? "");
// Check if user has scrolled past the bottom of the page
if (window.innerHeight + window.scrollY >= document.body.offsetHeight) {
setActiveLink(settingLinks[settingLinks.length - 1].id);
} else {
// shortest distance to the part of the screen we want is the active link
setActiveLink(viewList[0]?.link ?? "");
}
}
document.addEventListener("scroll", recheck);
recheck();