From 22a99110e8ff67b6ba2dd3c654a6614c6169f2a2 Mon Sep 17 00:00:00 2001 From: rays Date: Fri, 9 Oct 2026 12:52:41 +0000 Subject: [PATCH] Show the accent, not words, past the last item when swiping Asked for: swiping on from the last item in the reader showed "No more items" in faint text beside it; the pane is now the theme's accent colour and says nothing, the colour saying it is the end. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + web/app.css | 4 ++-- web/src/gestures.ts | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 101b41b..c2dcea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Swiping past the last item shows the theme's accent colour, without the words "No more items". - An empty list and the reader with nothing picked say nothing, instead of "Nothing here yet — try Scan now." and "Pick an item to read it."; a search that finds nothing still says so. - In Settings, the API tokens sit in a box of their own. - A feed's settings are redesigned: downloading on its own is a switch with what depends on it beneath, how many is Default, Newest or All shown on a strip of the show's own episodes, words to pick or hide are chips, the feed's address is at the top with a copy button, and Save is always in reach. Its folder and Directory category are no longer in it. diff --git a/web/app.css b/web/app.css index b344946..26bc5cf 100644 --- a/web/app.css +++ b/web/app.css @@ -1200,8 +1200,8 @@ body:has(#player.on) #status{padding-bottom:3px} #dpeek>div{width:calc(100% - 16px);height:100%;overflow:hidden;padding:12px 16px 90px;padding-top:calc(12px + var(--safe-t));background:var(--panel)} #dpeek.next>div{margin-left:16px} #dpeek .encbox{margin:0 0 10px} - #dpeek.end{display:flex;align-items:center;padding-left:28px;color:var(--faint);font-size:13px} - #dpeek.end p{max-width:4.5em;margin:0} + /* Past the last item, the accent and no words: the colour says it is the end. */ + #dpeek.end{background:var(--accent)} /* Going back to the list from the first item: the list waits under a dimmer that lifts as the reader, shadowed along its edge, is drawn off it. */ #dpeek.dim{width:100%;z-index:37;background:#000} diff --git a/web/src/gestures.ts b/web/src/gestures.ts index d8c7a29..c71cacf 100644 --- a/web/src/gestures.ts +++ b/web/src/gestures.ts @@ -95,7 +95,7 @@ document.addEventListener('touchmove', ev => { }, {passive: false}); /// On a phone, what lies beside the reader while it is dragged by dx: the item it will move on -/// to, a note that there are no more, or, going back to the list, a dimmer over the list. The +/// to, the accent past the last one, or, going back to the list, a dimmer over the list. The /// reader sits over the list there, and moving it alone showed the list through the gap it left /// (issue #52). Kept outside #content, which every feed render rebuilds, and inert, since its /// copy of the reader's markup repeats the reader's ids. @@ -109,7 +109,7 @@ function beside(dx: number){ } if(p.dataset.key !== kind + (e?.guid || '')){ p.dataset.key = kind + (e?.guid || ''); p.className = kind; - p.innerHTML = e ? `
${detailHtml(e)}
` : kind === 'end' ? '

No more items

' : ''; + p.innerHTML = e ? `
${detailHtml(e)}
` : ''; } return p; }