Some checks are pending
E2E / Playwright e2e (push) Waiting to run
- Introduced turbopack alias for canvas in next.config.mjs. - Updated package.json scripts for development and branding tasks. - Added new dependencies for Tiptap extensions. - Implemented new demo layouts for agenda, contacts, drive, and mail applications. - Enhanced globals.css for improved theming and splash screen animations. - Added OAuth callback handling for drive mounts. - Updated layout components to integrate new demo shells and improve structure.
28 lines
736 B
TypeScript
28 lines
736 B
TypeScript
"use client"
|
|
|
|
import { useMutation, useQueryClient } from "@tanstack/react-query"
|
|
import { apiClient } from "@/lib/api/client"
|
|
|
|
export function useUpdateUserAvatar() {
|
|
const queryClient = useQueryClient()
|
|
|
|
return useMutation({
|
|
mutationFn: (avatarUrl: string) =>
|
|
apiClient.put<{ avatar_url: string }>("/users/me/avatar", { avatar_url: avatarUrl }),
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries({ queryKey: ["current-user"] })
|
|
},
|
|
})
|
|
}
|
|
|
|
export function useDeleteUserAvatar() {
|
|
const queryClient = useQueryClient()
|
|
|
|
return useMutation({
|
|
mutationFn: () => apiClient.delete("/users/me/avatar"),
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries({ queryKey: ["current-user"] })
|
|
},
|
|
})
|
|
}
|