diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-16 15:25:12 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-16 15:25:12 -0800 |
| commit | feea1a814a212efd9b14b8f05e84104ace3c473a (patch) | |
| tree | 32cb971915aaa560e6fa433a5b8aee3cfbd5f8cf /frontend-vanilla/src/main.test.ts | |
| parent | 2321d5bcf17e416244e75f5727f0710f9cdd9a1a (diff) | |
| parent | 4555ee294a5acdfbc4b1026d99df54d07c74ed97 (diff) | |
| download | neko-feea1a814a212efd9b14b8f05e84104ace3c473a.tar.gz neko-feea1a814a212efd9b14b8f05e84104ace3c473a.tar.bz2 neko-feea1a814a212efd9b14b8f05e84104ace3c473a.zip | |
Merge pull request #6 from adammathes/claude/fix-mobile-scroll-read-yVmVk
Fix mobile scroll not marking items as read in v3 UI
Diffstat (limited to 'frontend-vanilla/src/main.test.ts')
| -rw-r--r-- | frontend-vanilla/src/main.test.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/frontend-vanilla/src/main.test.ts b/frontend-vanilla/src/main.test.ts index 26e8019..436db14 100644 --- a/frontend-vanilla/src/main.test.ts +++ b/frontend-vanilla/src/main.test.ts @@ -259,7 +259,7 @@ describe('main application logic', () => { expect(store.sidebarVisible).toBe(!initialVisible); }); - it('should mark item as read when scrolled into view', () => { + it('should mark item as read when scrolled past', () => { const mockItem = { _id: 123, title: 'Scroll Test Item', @@ -277,13 +277,15 @@ describe('main application logic', () => { vi.mocked(apiFetch).mockResolvedValue({ ok: true } as Response); - // Simulate intersection + // Simulate item scrolled above viewport (no longer intersecting, bottom above root top) const entry = { target: itemEl, - isIntersecting: true + isIntersecting: false, + boundingClientRect: { bottom: -10 } as DOMRectReadOnly, + rootBounds: { top: 0 } as DOMRectReadOnly, } as IntersectionObserverEntry; - // This relies on the LAST created observer's callback being captured. + // This relies on the LAST created observer's callback being captured. expect(observerCallback).toBeDefined(); // @ts-ignore observerCallback([entry], {} as IntersectionObserver); |
