From 735801738ae3c3dea92a718619f7db3df54cbd5e Mon Sep 17 00:00:00 2001 From: Hailey Date: Wed, 19 Jun 2024 17:17:10 -0700 Subject: [PATCH] adjust redirect --- src/screens/StarterPack/StarterPackScreen.tsx | 26 +++++++++++++------ src/state/queries/starter-packs.ts | 12 ++++++++- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/screens/StarterPack/StarterPackScreen.tsx b/src/screens/StarterPack/StarterPackScreen.tsx index 39ee3167e2..b3455be2c1 100644 --- a/src/screens/StarterPack/StarterPackScreen.tsx +++ b/src/screens/StarterPack/StarterPackScreen.tsx @@ -8,6 +8,7 @@ import {useNavigation} from '@react-navigation/native' import {NativeStackScreenProps} from '@react-navigation/native-stack' import {useQueryClient} from '@tanstack/react-query' +import {logger} from '#/logger' import {useDeleteStarterPackMutation} from '#/state/queries/starter-packs' import {HITSLOP_20} from 'lib/constants' import {makeProfileLink, makeStarterPackLink} from 'lib/routes/links' @@ -262,25 +263,34 @@ function OverflowMenu({ const deleteDialogControl = useDialogControl() const navigation = useNavigation() const { - mutateAsync: deleteStarterPack, + mutate: deleteStarterPack, isPending: isDeletePending, error: deleteError, - } = useDeleteStarterPackMutation() + } = useDeleteStarterPackMutation({ + onSuccess: () => { + logEvent('starterPack:delete', {}) + deleteDialogControl.close(() => { + if (navigation.canGoBack()) { + navigation.popToTop() + } else { + navigation.navigate('Home') + } + }) + }, + onError: e => { + logger.error('Failed to delete starter pack', {safeMessage: e}) + }, + }) const isOwn = starterPack.creator.did === currentAccount?.did const onDeleteStarterPack = async () => { - await deleteStarterPack({ + deleteStarterPack({ rkey: routeParams.rkey, // TODO need to fix types listUri: starterPack.list!.uri, }) - logEvent('starterPack:delete', {}) - - deleteDialogControl.close(() => { - navigation.popToTop() - }) } return ( diff --git a/src/state/queries/starter-packs.ts b/src/state/queries/starter-packs.ts index c40d9d94ed..bc7bde8894 100644 --- a/src/state/queries/starter-packs.ts +++ b/src/state/queries/starter-packs.ts @@ -246,7 +246,13 @@ export function useEditStarterPackMutation({ }) } -export function useDeleteStarterPackMutation() { +export function useDeleteStarterPackMutation({ + onSuccess, + onError, +}: { + onSuccess: () => void + onError: (error: Error) => void +}) { const agent = useAgent() const queryClient = useQueryClient() @@ -277,6 +283,10 @@ export function useDeleteStarterPackMutation() { did: agent.session!.did, rkey, }) + onSuccess() + }, + onError: async error => { + onError(error) }, }) }