Files
lume/packages/utils/src/hooks/useOpenGraph.ts
2024-01-01 08:19:43 +07:00

27 lines
587 B
TypeScript

import { type Opengraph } from "@lume/types";
import { useQuery } from "@tanstack/react-query";
import { invoke } from "@tauri-apps/api/core";
export function useOpenGraph(url: string) {
const { status, data, error } = useQuery({
queryKey: ["opg", url],
queryFn: async () => {
const res: Opengraph = await invoke("opengraph", { url });
if (!res) {
throw new Error("fetch preview failed");
}
return res;
},
staleTime: Infinity,
refetchOnWindowFocus: false,
refetchOnMount: false,
refetchOnReconnect: false,
});
return {
status,
data,
error,
};
}