diff --git a/src/hooks/useOverlay.hook.ts b/src/hooks/useOverlay.hook.ts index 5e8c78c..df2be63 100644 --- a/src/hooks/useOverlay.hook.ts +++ b/src/hooks/useOverlay.hook.ts @@ -41,13 +41,21 @@ export const useOverlay = (listen = true) => { } const scrollToElement = (element: HTMLElement) => { + const mainApp = document.getElementById("main-app") + const clickTop = (window as unknown as { __scrollAtClick?: number }) + .__scrollAtClick + + if (mainApp && clickTop !== undefined) { + mainApp.scrollTop = clickTop + } + requestAnimationFrame(() => { - const mainApp = document.getElementById("main-app") const debug = document.getElementById("scroll-debug") if (debug && mainApp) { const er = element.getBoundingClientRect() const cr = mainApp.getBoundingClientRect() const lines = [ + `clickTop: ${clickTop ?? "n/a"}`, `before scrollTop: ${mainApp.scrollTop}`, `mainApp scrollH: ${mainApp.scrollHeight} clientH: ${mainApp.clientHeight}`, `body scrollY: ${window.scrollY} innerH: ${window.innerHeight}`, diff --git a/src/hooks/useRouteQueryStackedNotes.hook.ts b/src/hooks/useRouteQueryStackedNotes.hook.ts index 695c290..86deb7a 100644 --- a/src/hooks/useRouteQueryStackedNotes.hook.ts +++ b/src/hooks/useRouteQueryStackedNotes.hook.ts @@ -114,6 +114,10 @@ export const useRouteQueryStackedNotes = () => { selector?: string, hash?: string ) => { + const mainAppEl = document.getElementById("main-app") + ;(window as unknown as { __scrollAtClick?: number }).__scrollAtClick = + mainAppEl?.scrollTop ?? 0 + if (stackedNotes.value.includes(sha)) { scrollToFocusedNote({ noteId: selector ?? sha,