diff options
| author | Fuwn <[email protected]> | 2026-02-10 01:08:11 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-10 01:08:11 -0800 |
| commit | 920d22332069f1ca60740c290173a95846fb38c3 (patch) | |
| tree | 5909cecde94bf1acd83385a5b3d789175f2713f0 /apps/web/lib/stores/user-interface-store.ts | |
| parent | fix: service worker cross-origin image handling and CI env vars (diff) | |
| download | asa.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.ts | 12 |
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 })), |