about summary refs log tree commit diff
path: root/src/state/queries
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2025-04-17 19:11:46 +0300
committerGitHub <noreply@github.com>2025-04-17 11:11:46 -0500
commit719d7b7a57c96663292d886adb6f19e283e309e0 (patch)
tree5fe3ddb22ae7ac7ff7f962c7269a59eaf08dc172 /src/state/queries
parent4f316538fb16cd86252569f5ededb34e759a4659 (diff)
downloadvoidsky-719d7b7a57c96663292d886adb6f19e283e309e0.tar.zst
Use `SearchablePeopleList` for add user to list dialog, replace old modal (#8212)
* move to dialogs dir

* make searchable people list more generic

* new list-add-remove-users dialog

* update header text

* fix header on android

* delete old modal

* reduce spacing on items
Diffstat (limited to 'src/state/queries')
-rw-r--r--src/state/queries/list-memberships.ts24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/state/queries/list-memberships.ts b/src/state/queries/list-memberships.ts
index b93dc059d..410a613ad 100644
--- a/src/state/queries/list-memberships.ts
+++ b/src/state/queries/list-memberships.ts
@@ -90,7 +90,13 @@ export function getMembership(
   return membership ? membership.membershipUri : false
 }
 
-export function useListMembershipAddMutation() {
+export function useListMembershipAddMutation({
+  onSuccess,
+  onError,
+}: {
+  onSuccess?: (data: {uri: string; cid: string}) => void
+  onError?: (error: Error) => void
+} = {}) {
   const {currentAccount} = useSession()
   const agent = useAgent()
   const queryClient = useQueryClient()
@@ -117,7 +123,7 @@ export function useListMembershipAddMutation() {
       // -prf
       return res
     },
-    onSuccess(data, variables) {
+    onSuccess: (data, variables) => {
       // manually update the cache; a refetch is too expensive
       let memberships = queryClient.getQueryData<ListMembersip[]>(RQKEY())
       if (memberships) {
@@ -145,11 +151,19 @@ export function useListMembershipAddMutation() {
           queryKey: LIST_MEMBERS_RQKEY(variables.listUri),
         })
       }, 1e3)
+      onSuccess?.(data)
     },
+    onError,
   })
 }
 
-export function useListMembershipRemoveMutation() {
+export function useListMembershipRemoveMutation({
+  onSuccess,
+  onError,
+}: {
+  onSuccess?: (data: void) => void
+  onError?: (error: Error) => void
+} = {}) {
   const {currentAccount} = useSession()
   const agent = useAgent()
   const queryClient = useQueryClient()
@@ -172,7 +186,7 @@ export function useListMembershipRemoveMutation() {
       // query for that, so we use a timeout below
       // -prf
     },
-    onSuccess(data, variables) {
+    onSuccess: (data, variables) => {
       // manually update the cache; a refetch is too expensive
       let memberships = queryClient.getQueryData<ListMembersip[]>(RQKEY())
       if (memberships) {
@@ -192,6 +206,8 @@ export function useListMembershipRemoveMutation() {
           queryKey: LIST_MEMBERS_RQKEY(variables.listUri),
         })
       }, 1e3)
+      onSuccess?.(data)
     },
+    onError,
   })
 }