diff options
| author | Fuwn <[email protected]> | 2026-02-10 02:11:41 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-10 02:11:41 -0800 |
| commit | 566aff236740d82def2a51c73642fdcbaf382931 (patch) | |
| tree | 2d8c5e20071f4e25bb10ecb0d0c637ba0a1b6d9e /apps/web/app/reader/settings | |
| parent | feat: add Go worker tests and include in CI (diff) | |
| download | asa.news-566aff236740d82def2a51c73642fdcbaf382931.tar.xz asa.news-566aff236740d82def2a51c73642fdcbaf382931.zip | |
feat: add unread priority option to push unread entries to top
Adds a persisted appearance setting (disabled by default) that
partitions the entry list into unread-first, preserving original
order within each group.
Diffstat (limited to 'apps/web/app/reader/settings')
| -rw-r--r-- | apps/web/app/reader/settings/_components/appearance-settings.tsx | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/apps/web/app/reader/settings/_components/appearance-settings.tsx b/apps/web/app/reader/settings/_components/appearance-settings.tsx index 9d2d146..9e03702 100644 --- a/apps/web/app/reader/settings/_components/appearance-settings.tsx +++ b/apps/web/app/reader/settings/_components/appearance-settings.tsx @@ -80,6 +80,12 @@ export function AppearanceSettings() { const setShowFoldersAboveFeeds = useUserInterfaceStore( (state) => state.setShowFoldersAboveFeeds ) + const prioritiseUnreadEntries = useUserInterfaceStore( + (state) => state.prioritiseUnreadEntries + ) + const setPrioritiseUnreadEntries = useUserInterfaceStore( + (state) => state.setPrioritiseUnreadEntries + ) const autoRefreshTimeline = useUserInterfaceStore( (state) => state.autoRefreshTimeline ) @@ -249,6 +255,21 @@ export function AppearanceSettings() { <option value="absolute">absolute</option> </select> </div> + <div> + <h3 className="mb-2 text-text-primary">unread priority</h3> + <p className="mb-3 text-text-dim"> + push unread articles to the top of the entry list + </p> + <label className="flex cursor-pointer items-center gap-2 text-text-primary"> + <input + type="checkbox" + checked={prioritiseUnreadEntries} + onChange={(event) => setPrioritiseUnreadEntries(event.target.checked)} + className="accent-text-primary" + /> + <span>prioritise unread entries</span> + </label> + </div> </SettingsSection> <SettingsSection title="sidebar"> |