mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-13 06:32:03 +00:00
fix(shell): return to the list's scroll position on Back
Back from a detail page (a biomarker, a medication, a workout) opened the list at the top. The shell scrolls inside `<main>`, which stays mounted across routes, and the browser's own restoration only moves the document. Nothing kept the list's offset, so `<main>` stayed where the detail page had left it; and the one-shot skip on `popstate` was cleared by a timer that could run before the restored page rendered, in which case the forward-navigation reset fired anyway. The shell now records `<main>`'s offset per address while scrolling, reads it back on `popstate` and applies it once the page has rendered, retrying for up to a second while a list is still shorter than the offset. A forward navigation still starts at the top.
This commit is contained in:
1 parent
ecb219f346
commit
62b9e404ef
4 files changed
+180
-37
No files matched your search
@@ -138,7 +138,7 @@
|
||||
"components/labs/lab-history-list.tsx :: LabHistoryList": 534,
|
||||
"components/labs/ocr-review-dialog.tsx :: OcrReviewDialog": 359,
|
||||
"components/labs/ocr-row-editor.tsx :: OcrRowEditor": 378,
|
||||
"components/layout/auth-shell.tsx :: AuthShell": 518,
|
||||
"components/layout/auth-shell.tsx :: AuthShell": 484,
|
||||
"components/layout/bottom-nav.tsx :: BottomNav": 262,
|
||||
"components/layout/capture-picker.tsx :: CapturePicker": 235,
|
||||
"components/layout/sidebar-nav.tsx :: SidebarNav": 356,
|
||||
|
||||
Reference in new issue
Block a user