23 lines
596 B
TypeScript
23 lines
596 B
TypeScript
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
import { axiosClient } from '@/lib/axios';
|
|
|
|
interface UpdateUserPayload {
|
|
avatar?: string;
|
|
bio?: string;
|
|
nickname?: string;
|
|
subtitle?: string;
|
|
username?: string;
|
|
}
|
|
|
|
export function useUpdateUser() {
|
|
const queryClient = useQueryClient();
|
|
return useMutation({
|
|
mutationFn: async (payload: UpdateUserPayload) => {
|
|
return axiosClient.patch<{ status: string }>('/user/update', payload);
|
|
},
|
|
onSuccess: async () => {
|
|
await queryClient.invalidateQueries({ queryKey: ['userInfo'] });
|
|
},
|
|
});
|
|
}
|