Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 4x 4x 2x 1x 1x 1x 1x 1x | import { useMutation, useQueryClient } from "@tanstack/react-query";
import { notify } from "../../lib/notify";
import { proApi, type Pro } from "../../lib/api";
import { queryKeys } from "../../lib/query-keys";
export function useUpdateProProfile(proId: string) {
const queryClient = useQueryClient();
return useMutation({
mutationFn: async (data: Partial<Pro>) => {
const response = await proApi.updateProfile(proId, data);
return response.data;
},
// For profile updates, don't use optimistic updates (too complex)
// Just show loading state and refetch on success
onSuccess: (data) => {
// Update pro cache with new data
queryClient.setQueryData(queryKeys.pro.profile(proId), data);
queryClient.invalidateQueries({ queryKey: queryKeys.pro.me() });
notify.success("Profile updated");
},
onError: () => {
notify.error("Failed to update profile");
},
});
}
|