#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,13 +17,15 @@ 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)) {
scrollTarget.scrollIntoView(); // scroll container to episode first
searchRes.scrollTop = scrollTarget.offsetTop;
// then scroll page to episode if neccessarry
scrollTarget.scrollIntoView({ behavior: "smooth", block: "nearest" });
} }
}); });
});
observer.observe(searchRes, { observer.observe(searchRes, {
childList: true, childList: true,
@ -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) {