Show the recent strip only where it is not a duplicate
The strip is the head of the same updated_at DESC reading list the All tab renders, and app.html put it on every tab: on a small library it repeated the list immediately below it while eating ~230px of the first phone screen, and on Archived and Finished it showed reading series above the opposite bucket. buildListView now fills Recent only for tab=all with more reading series than the strip holds. Because the strip lives outside the htmx-swapped #list, an in-page tab switch cannot re-render it, so applyFilter also decides its visibility from the active tab; setActiveTab pokes it after a swap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+9
-6
@@ -184,12 +184,6 @@ func (h *webHandler) buildListView(tab string) (listView, error) {
|
||||
}
|
||||
reading := filterBookmarks(all, func(b Bookmark) bool { return b.Status == statusReading })
|
||||
|
||||
// The strip reflects overall reading recency, not the active tab.
|
||||
recent := reading
|
||||
if len(recent) > recentCount {
|
||||
recent = recent[:recentCount]
|
||||
}
|
||||
|
||||
withNew := filterBookmarks(reading, func(b Bookmark) bool { return b.HasNewChapter() })
|
||||
|
||||
var items []Bookmark
|
||||
@@ -206,6 +200,15 @@ func (h *webHandler) buildListView(tab string) (listView, error) {
|
||||
tab = "all"
|
||||
items = reading
|
||||
}
|
||||
// The strip is the head of the same updated_at DESC reading list the All tab
|
||||
// renders, so it only earns its ~230px of the first phone screen where it is
|
||||
// not a pure duplicate of what sits right below it: on All, with more series
|
||||
// than it shows. On the other tabs it either repeats the list or, worse,
|
||||
// puts reading series above the archived and finished buckets.
|
||||
var recent []Bookmark
|
||||
if tab == "all" && len(reading) > recentCount {
|
||||
recent = reading[:recentCount]
|
||||
}
|
||||
return listView{Tab: tab, Recent: recent, Items: items, NewCount: len(withNew)}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user