29 lines
838 B
TypeScript
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);
|
|
},
|
|
});
|
|
}
|