summaryrefslogtreecommitdiff
path: root/apps/web/lib/stores/user-interface-store.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-10 01:08:11 -0800
committerFuwn <[email protected]>2026-02-10 01:08:11 -0800
commit920d22332069f1ca60740c290173a95846fb38c3 (patch)
tree5909cecde94bf1acd83385a5b3d789175f2713f0 /apps/web/lib/stores/user-interface-store.ts
parentfix: service worker cross-origin image handling and CI env vars (diff)
downloadasa.news-920d22332069f1ca60740c290173a95846fb38c3.tar.xz
asa.news-920d22332069f1ca60740c290173a95846fb38c3.zip
feat: scoped mark-all-read, share enhancements, notification z-index
- Mark all as read now scopes to current feed/folder instead of all - Added undo button to mark-all-read toast notification - Share notes can be toggled between public and private visibility - Track share view count and display in shares list - Activity-based share expiry: views reset the expiry timer - Fixed notification panel z-index layering behind content area
Diffstat (limited to 'apps/web/lib/stores/user-interface-store.ts')
-rw-r--r--apps/web/lib/stores/user-interface-store.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/apps/web/lib/stores/user-interface-store.ts b/apps/web/lib/stores/user-interface-store.ts
index 42c72ee..4c17735 100644
--- a/apps/web/lib/stores/user-interface-store.ts
+++ b/apps/web/lib/stores/user-interface-store.ts
@@ -48,10 +48,14 @@ interface UserInterfaceState {
toolbarPosition: ToolbarPosition
isShortcutsDialogOpen: boolean
expandedFolderIdentifiers: string[]
+ currentFeedIdentifier: string | null
+ currentFolderIdentifier: string | null
navigableEntryIdentifiers: string[]
resetSidebarLayout: (() => void) | null
resetDetailLayout: (() => void) | null
+ setCurrentFeedIdentifier: (identifier: string | null) => void
+ setCurrentFolderIdentifier: (identifier: string | null) => void
toggleSidebar: () => void
setSidebarCollapsed: (isCollapsed: boolean) => void
setCommandPaletteOpen: (isOpen: boolean) => void
@@ -106,10 +110,18 @@ export const useUserInterfaceStore = create<UserInterfaceState>()(
toolbarPosition: "top",
isShortcutsDialogOpen: false,
expandedFolderIdentifiers: [],
+ currentFeedIdentifier: null,
+ currentFolderIdentifier: null,
navigableEntryIdentifiers: [],
resetSidebarLayout: null,
resetDetailLayout: null,
+ setCurrentFeedIdentifier: (identifier) =>
+ set({ currentFeedIdentifier: identifier }),
+
+ setCurrentFolderIdentifier: (identifier) =>
+ set({ currentFolderIdentifier: identifier }),
+
toggleSidebar: () =>
set((state) => ({ isSidebarCollapsed: !state.isSidebarCollapsed })),