diff --git a/src/lib/analytics/types.ts b/src/lib/analytics/types.ts index b4eb0ddcb0..6d840001c3 100644 --- a/src/lib/analytics/types.ts +++ b/src/lib/analytics/types.ts @@ -110,6 +110,7 @@ export type TrackPropertiesMap = { index: number } 'CustomFeed:LoadMore': {} + 'CustomFeed:Update': {} 'MultiFeed:onEndReached': {} 'MultiFeed:onRefresh': {} // MODERATION events diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts index 130a3e2af6..7200a4dd5b 100644 --- a/src/state/queries/preferences/index.ts +++ b/src/state/queries/preferences/index.ts @@ -229,13 +229,9 @@ export function useSetThreadViewPreferencesMutation() { export function useSetSaveFeedsMutation() { const queryClient = useQueryClient() - return useMutation< - void, - unknown, - Pick - >({ - mutationFn: async ({saved, pinned}) => { - await getAgent().setSavedFeeds(saved, pinned) + return useMutation({ + mutationFn: async savedFeeds => { + await getAgent().setSavedFeedsV2(savedFeeds) // triggers a refetch await queryClient.invalidateQueries({ queryKey: preferencesQueryKey, @@ -244,16 +240,16 @@ export function useSetSaveFeedsMutation() { }) } -export function useSaveFeedMutation() { +export function useAddSavedFeedMutation() { const queryClient = useQueryClient() - return useMutation({ - mutationFn: async ({uri}) => { - await getAgent().addSavedFeedV2({ - type: 'feed', - value: uri, - pinned: false, - }) + return useMutation< + void, + unknown, + Pick + >({ + mutationFn: async savedFeed => { + await getAgent().addSavedFeedV2(savedFeed) track('CustomFeed:Save') // triggers a refetch await queryClient.invalidateQueries({ @@ -278,35 +274,13 @@ export function useRemoveFeedMutation() { }) } -export function usePinFeedMutation() { - const queryClient = useQueryClient() - - return useMutation({ - 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() { +export function useUpdateSavedFeedMutation() { const queryClient = useQueryClient() return useMutation({ mutationFn: async feed => { - await getAgent().updateSavedFeed({ - ...feed, - pinned: false, - }) - track('CustomFeed:Unpin', {uri: feed.value}) + await getAgent().updateSavedFeed(feed) + track('CustomFeed:Update', {uri: feed.value}) // triggers a refetch await queryClient.invalidateQueries({ 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, - }) - }, - }) -}