Unverified 提交 8d61659c authored 作者: Will Chen's avatar Will Chen 提交者: GitHub

Show error toast in centralized way for query (#117)

上级 b6eeaab1
...@@ -19,7 +19,7 @@ export function useCurrentBranch(appId: number | null) { ...@@ -19,7 +19,7 @@ export function useCurrentBranch(appId: number | null) {
return ipcClient.getCurrentBranch(appId); return ipcClient.getCurrentBranch(appId);
}, },
enabled: appId !== null, enabled: appId !== null,
meta: { showErrorToast: false }, meta: { showErrorToast: true },
}); });
return { return {
......
...@@ -29,6 +29,7 @@ export function useVersions(appId: number | null) { ...@@ -29,6 +29,7 @@ export function useVersions(appId: number | null) {
}, },
enabled: appId !== null, enabled: appId !== null,
initialData: [], initialData: [],
meta: { showErrorToast: true },
}); });
useEffect(() => { useEffect(() => {
......
...@@ -5,12 +5,41 @@ import { RouterProvider } from "@tanstack/react-router"; ...@@ -5,12 +5,41 @@ import { RouterProvider } from "@tanstack/react-router";
import { PostHogProvider } from "posthog-js/react"; import { PostHogProvider } from "posthog-js/react";
import posthog from "posthog-js"; import posthog from "posthog-js";
import { getTelemetryUserId, isTelemetryOptedIn } from "./hooks/useSettings"; import { getTelemetryUserId, isTelemetryOptedIn } from "./hooks/useSettings";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import {
QueryCache,
QueryClient,
QueryClientProvider,
} from "@tanstack/react-query";
import { showError } from "./lib/toast";
// @ts-ignore // @ts-ignore
console.log("Running in mode:", import.meta.env.MODE); console.log("Running in mode:", import.meta.env.MODE);
const queryClient = new QueryClient(); interface MyMeta extends Record<string, unknown> {
showErrorToast: boolean;
}
declare module "@tanstack/react-query" {
interface Register {
queryMeta: MyMeta;
mutationMeta: MyMeta;
}
}
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: false,
},
},
queryCache: new QueryCache({
onError: (error, query) => {
if (query.meta?.showErrorToast) {
showError(error);
}
},
}),
});
const posthogClient = posthog.init( const posthogClient = posthog.init(
"phc_5Vxx0XT8Ug3eWROhP6mm4D6D2DgIIKT232q4AKxC2ab", "phc_5Vxx0XT8Ug3eWROhP6mm4D6D2DgIIKT232q4AKxC2ab",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论