feat(home): Pagination-Tiefe per Snapshot, scroll-restore deep-scroll-fest
Some checks failed
Build & Publish Docker Image / build-and-push (push) Has been cancelled
Some checks failed
Build & Publish Docker Image / build-and-push (push) Has been cancelled
Bei tiefer Endless-Scroll (z. B. 60 nachgeladene Items) versagte der generische scroll-restore: nach dem Back-Mount lud onMount() nur die initialen 10 Items via loadAllMore(), das Dokument blieb ~1000px hoch und der rAF-Poll konnte die gespeicherte scrollY (z. B. 4000) nie erreichen — Best-Effort scrollTo clampte auf die erreichbare Hoehe. Fix per SvelteKit-Snapshot, derselbe Mechanismus den die Page bereits fuer SearchStore nutzt: Capture nimmt zusaetzlich allRecipes.length, allSort und allExhausted mit. Restore setzt sort sofort und parkt die Tiefe in pendingPagination. onMount sieht das Pending und ruft statt loadAllMore() ein einmaliges rehydrateAll(sort, count, exhausted) — ein Fetch mit limit=count rehydriert die ganze Liste atomar. Danach hat das Dokument die Originalhoehe und der Layout-Restore-Poll laesst die scrollY genau dort landen, wo der User vorher war. API-Cap (src/routes/api/recipes/all/+server.ts) von 50 auf 200 angehoben — Recipe-Metadaten sind klein (~200 B/Stueck), 200er- Response ~40 KB. Cap deckt realistische Scroll-Tiefen. Reload (Cmd-R) behaelt das alte Verhalten: ohne Snapshot greift der sort-aus-localStorage-Pfad, lade-Sequenz startet wieder bei 10. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1443
ci-log.txt
Normal file
1443
ci-log.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user