Finalize mutation hooks

This commit is contained in:
Eric Bailey
2024-04-22 18:22:26 -05:00
parent 24543a2c4b
commit 0bb0f541cc
2 changed files with 15 additions and 54 deletions
+1
View File
@@ -110,6 +110,7 @@ export type TrackPropertiesMap = {
index: number index: number
} }
'CustomFeed:LoadMore': {} 'CustomFeed:LoadMore': {}
'CustomFeed:Update': {}
'MultiFeed:onEndReached': {} 'MultiFeed:onEndReached': {}
'MultiFeed:onRefresh': {} 'MultiFeed:onRefresh': {}
// MODERATION events // MODERATION events
+14 -54
View File
@@ -229,13 +229,9 @@ export function useSetThreadViewPreferencesMutation() {
export function useSetSaveFeedsMutation() { export function useSetSaveFeedsMutation() {
const queryClient = useQueryClient() const queryClient = useQueryClient()
return useMutation< return useMutation<void, unknown, AppBskyActorDefs.SavedFeed[]>({
void, mutationFn: async savedFeeds => {
unknown, await getAgent().setSavedFeedsV2(savedFeeds)
Pick<UsePreferencesQueryResponse['feeds'], 'saved' | 'pinned'>
>({
mutationFn: async ({saved, pinned}) => {
await getAgent().setSavedFeeds(saved, pinned)
// triggers a refetch // triggers a refetch
await queryClient.invalidateQueries({ await queryClient.invalidateQueries({
queryKey: preferencesQueryKey, queryKey: preferencesQueryKey,
@@ -244,16 +240,16 @@ export function useSetSaveFeedsMutation() {
}) })
} }
export function useSaveFeedMutation() { export function useAddSavedFeedMutation() {
const queryClient = useQueryClient() const queryClient = useQueryClient()
return useMutation<void, unknown, {uri: string}>({ return useMutation<
mutationFn: async ({uri}) => { void,
await getAgent().addSavedFeedV2({ unknown,
type: 'feed', Pick<AppBskyActorDefs.SavedFeed, 'type' | 'value' | 'pinned'>
value: uri, >({
pinned: false, mutationFn: async savedFeed => {
}) await getAgent().addSavedFeedV2(savedFeed)
track('CustomFeed:Save') track('CustomFeed:Save')
// triggers a refetch // triggers a refetch
await queryClient.invalidateQueries({ await queryClient.invalidateQueries({
@@ -278,35 +274,13 @@ export function useRemoveFeedMutation() {
}) })
} }
export function usePinFeedMutation() { export function useUpdateSavedFeedMutation() {
const queryClient = useQueryClient()
return useMutation<void, unknown, {uri: string}>({
mutationFn: async ({uri}) => {
await getAgent().addSavedFeedV2({
type: 'feed',
value: uri,
pinned: true,
})
track('CustomFeed:Pin', {uri})
// triggers a refetch
await queryClient.invalidateQueries({
queryKey: preferencesQueryKey,
})
},
})
}
export function useUnpinFeedMutation() {
const queryClient = useQueryClient() const queryClient = useQueryClient()
return useMutation<void, unknown, AppBskyActorDefs.SavedFeed>({ return useMutation<void, unknown, AppBskyActorDefs.SavedFeed>({
mutationFn: async feed => { mutationFn: async feed => {
await getAgent().updateSavedFeed({ await getAgent().updateSavedFeed(feed)
...feed, track('CustomFeed:Update', {uri: feed.value})
pinned: false,
})
track('CustomFeed:Unpin', {uri: feed.value})
// triggers a refetch // triggers a refetch
await queryClient.invalidateQueries({ await queryClient.invalidateQueries({
queryKey: preferencesQueryKey, queryKey: preferencesQueryKey,
@@ -356,17 +330,3 @@ export function useRemoveMutedWordMutation() {
}, },
}) })
} }
export function useSetPrimaryAlgorithmMutation() {
const queryClient = useQueryClient()
return useMutation({
mutationFn: async (pref: AppBskyActorDefs.PrimaryAlgoPref) => {
await getAgent().setPrimaryAlgorithm(pref)
// triggers a refetch
await queryClient.invalidateQueries({
queryKey: preferencesQueryKey,
})
},
})
}