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 30 31 32 33 34 35 36 37 38 39 | 1x 5x 5x 5x 3x 2x 5x 5x 3x 2x | /**
* AI Prompt React Query Hooks
*
* Custom hooks for AI prompt data fetching and mutations.
*/
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { listAiPrompts, updateAiPrompt, resetAiPrompt } from '@/services/aiPromptService';
const QUERY_KEY = 'aiPrompts' as const;
export function useAiPrompts() {
return useQuery({
queryKey: [QUERY_KEY],
queryFn: listAiPrompts,
});
}
export function useUpdateAiPrompt() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: ({ promptKey, promptText }: { promptKey: string; promptText: string }) =>
updateAiPrompt(promptKey, promptText),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEY] });
},
});
}
export function useResetAiPrompt() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: (promptKey: string) => resetAiPrompt(promptKey),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEY] });
},
});
}
|