33 lines
876 B
TypeScript
33 lines
876 B
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
import { IpcClient } from "@/ipc/ipc_client";
|
|
import type { ProblemReport } from "@/ipc/ipc_types";
|
|
import { useSettings } from "./useSettings";
|
|
|
|
export function useCheckProblems(appId: number | null) {
|
|
const { settings } = useSettings();
|
|
const {
|
|
data: problemReport,
|
|
isLoading: isChecking,
|
|
error,
|
|
refetch: checkProblems,
|
|
} = useQuery<ProblemReport, Error>({
|
|
queryKey: ["problems", appId],
|
|
queryFn: async (): Promise<ProblemReport> => {
|
|
if (!appId) {
|
|
throw new Error("App ID is required");
|
|
}
|
|
const ipcClient = IpcClient.getInstance();
|
|
return ipcClient.checkProblems({ appId });
|
|
},
|
|
enabled: !!appId && settings?.enableAutoFixProblems,
|
|
// DO NOT SHOW ERROR TOAST.
|
|
});
|
|
|
|
return {
|
|
problemReport,
|
|
isChecking,
|
|
error,
|
|
checkProblems,
|
|
};
|
|
}
|