webapp/src/utils/scroll.ts
Ilya Y 784bb435c3
Feature/lint (#317)
* prettier

---------

Co-authored-by: Igor Lobanov <igor.lobanov@onetwotrip.com>
2023-11-14 18:10:00 +03:00

28 lines
556 B
TypeScript

const scrollPosition = {
top: 0,
left: 0,
}
export const saveScrollPosition = () => {
scrollPosition.top = window.scrollY
scrollPosition.left = window.scrollX
}
export const restoreScrollPosition = () => {
window.scroll({
top: scrollPosition.top,
left: scrollPosition.left,
})
}
export const scrollHandler = (elemId: string, offset = -100) => {
const anchor = document.querySelector('#' + elemId)
if (anchor) {
window.scrollTo({
top: anchor.getBoundingClientRect().top + offset,
behavior: 'smooth',
})
}
}