Finalize mutation hooks
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user