#161 Better scroll behaviour

This commit is contained in:
Serraniel 2021-02-08 19:36:48 +01:00
parent 6ab597924e
commit 6c0a197c83
Signed by: Serraniel
GPG key ID: 3690B4E7364525D3

View file

@ -17,12 +17,14 @@ export function init(): void {
function observeSearchResults(searchRes: Element): void { function observeSearchResults(searchRes: Element): void {
let observer = new MutationObserver(mutations => { let observer = new MutationObserver(mutations => {
mutations.forEach(mutation => { let scrollTarget = searchRes.querySelector('.ep-view md-list-item:not(.animelist-completed)') as HTMLElement;
let scrollTarget = searchRes.querySelector('.ep-view md-list-item:not(.animelist-completed)'); if (assigned(scrollTarget)) {
if (assigned(scrollTarget)) { // scroll container to episode first
scrollTarget.scrollIntoView(); searchRes.scrollTop = scrollTarget.offsetTop;
}
}); // then scroll page to episode if neccessarry
scrollTarget.scrollIntoView({ behavior: "smooth", block: "nearest" });
}
}); });
observer.observe(searchRes, { observer.observe(searchRes, {
@ -31,11 +33,6 @@ function observeSearchResults(searchRes: Element): void {
}); });
} }
function scrollTo(el: Element, pos: number): void {
let offset: number = 24;
el.scrollTo(0, pos * 72 + offset)
}
function findSearchResults(): Element { function findSearchResults(): Element {
let searchResults = document.getElementsByClassName('search-results'); let searchResults = document.getElementsByClassName('search-results');
if (searchResults[0] instanceof Element) { if (searchResults[0] instanceof Element) {