about summary refs log tree commit diff
path: root/src/state/queries/notifications/settings.ts
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-12-12 17:37:07 +0000
committerGitHub <noreply@github.com>2024-12-12 17:37:07 +0000
commitf8cdd6b9ae46a9a4efe0be87e55ee1debded4f91 (patch)
tree87884914d17ca8d466bcb57a1a668f77a1d7338f /src/state/queries/notifications/settings.ts
parent10e241e7eb5a45a0c35802618f52b411dcecd0b0 (diff)
downloadvoidsky-f8cdd6b9ae46a9a4efe0be87e55ee1debded4f91.tar.zst
[Notifications] Add a Mentions tab (#7044)
* Split out NotificationsTab

* Remove unused route parameter

* Refine the split between components

* Hoist some logic out of NotificationFeed

* Remove unused option

* Add all|conversations to query, hardcode "all"

* Add a Conversations tab

* Rename to Mentions

* Bump packages

* Rename fields

* Fix oopsie

* Simplify header

* Track active tab

* Fix types

* Separate logic for tabs

* Better border for first unread

* Highlight unread for all only

* Fix spinner races

* Fix fetchPage races

* Fix bottom bar border being obscured by glimmer

* Remember last tab within the session

* One tab at a time

* Fix TS

* Handle all RQKEY usages

* Nit
Diffstat (limited to 'src/state/queries/notifications/settings.ts')
-rw-r--r--src/state/queries/notifications/settings.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/state/queries/notifications/settings.ts b/src/state/queries/notifications/settings.ts
index a17fce832..e552b6520 100644
--- a/src/state/queries/notifications/settings.ts
+++ b/src/state/queries/notifications/settings.ts
@@ -45,7 +45,8 @@ export function useNotificationSettingsMutation() {
     },
     onSettled: () => {
       invalidateCachedUnreadPage()
-      queryClient.invalidateQueries({queryKey: RQKEY_NOTIFS()})
+      queryClient.invalidateQueries({queryKey: RQKEY_NOTIFS('all')})
+      queryClient.invalidateQueries({queryKey: RQKEY_NOTIFS('mentions')})
     },
   })
 }
@@ -54,7 +55,7 @@ function eagerlySetCachedPriority(
   queryClient: ReturnType<typeof useQueryClient>,
   enabled: boolean,
 ) {
-  queryClient.setQueryData(RQKEY_NOTIFS(), (old: any) => {
+  function updateData(old: any) {
     if (!old) return old
     return {
       ...old,
@@ -65,5 +66,7 @@ function eagerlySetCachedPriority(
         }
       }),
     }
-  })
+  }
+  queryClient.setQueryData(RQKEY_NOTIFS('all'), updateData)
+  queryClient.setQueryData(RQKEY_NOTIFS('mentions'), updateData)
 }