Files
k-tv/k-tv-frontend/hooks/use-admin-settings.ts

29 lines
838 B
TypeScript

"use client";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { api } from "@/lib/api";
import { useAuthContext } from "@/context/auth-context";
import type { AdminSettings } from "@/lib/types";
export function useAdminSettings() {
const { token } = useAuthContext();
return useQuery({
queryKey: ["admin", "settings"],
queryFn: () => api.admin.getSettings(token!),
enabled: !!token,
staleTime: 5 * 60 * 1000,
});
}
export function useUpdateAdminSettings() {
const { token } = useAuthContext();
const queryClient = useQueryClient();
return useMutation({
mutationFn: (patch: Partial<AdminSettings>) =>
api.admin.updateSettings(token!, patch),
onSuccess: (data: AdminSettings) => {
queryClient.setQueryData(["admin", "settings"], data);
},
});
}