"use client"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { api } from "@/lib/api"; import { useAuthContext } from "@/context/auth-context"; import type { TranscodeSettings } from "@/lib/types"; export function useTranscodeSettings() { const { token } = useAuthContext(); return useQuery({ queryKey: ["transcode-settings"], queryFn: () => api.transcode.getSettings(token!), enabled: !!token, }); } export function useUpdateTranscodeSettings() { const { token } = useAuthContext(); const qc = useQueryClient(); return useMutation({ mutationFn: (data: TranscodeSettings) => api.transcode.updateSettings(data, token!), onSuccess: () => qc.invalidateQueries({ queryKey: ["transcode-settings"] }), }); } export function useTranscodeStats() { const { token } = useAuthContext(); return useQuery({ queryKey: ["transcode-stats"], queryFn: () => api.transcode.getStats(token!), enabled: !!token, }); } export function useClearTranscodeCache() { const { token } = useAuthContext(); const qc = useQueryClient(); return useMutation({ mutationFn: () => api.transcode.clearCache(token!), onSuccess: () => qc.invalidateQueries({ queryKey: ["transcode-stats"] }), }); }