feat: update thumbnail api

This commit is contained in:
2024-03-03 17:25:22 +07:00
parent 110bdd88e6
commit 24717db264
14 changed files with 476 additions and 61 deletions
+17 -1
View File
@@ -20,6 +20,8 @@ import StatusBar from "./status-bar";
import { FiTerminal } from "react-icons/fi";
import SettingsDialog from "./settings-dialog";
import FileIcon from "~/components/ui/file-icon";
import { api } from "~/lib/api";
import { useMutation } from "@tanstack/react-query";
const Editor = () => {
const { project, initialFiles } = useData<Data>();
@@ -33,11 +35,17 @@ const Editor = () => {
);
const openedFilesData = trpc.file.getAll.useQuery(
{ projectId: project.id, id: curOpenFiles },
{ projectId: project.id!, id: curOpenFiles },
{ enabled: curOpenFiles.length > 0, initialData: initialFiles }
);
const [openedFiles, setOpenedFiles] = useState<any[]>(initialFiles);
const generateThumbnail = useMutation({
mutationFn: () => {
return api(`/thumbnail/${project.slug!}`, { method: "PATCH" });
},
});
const deleteFile = trpc.file.delete.useMutation({
onSuccess: (file) => {
trpcUtils.file.getAll.invalidate();
@@ -76,6 +84,14 @@ const Editor = () => {
// api(`/sandbox/${project.slug}/start`, { method: "POST" }).catch(() => {});
// }, [project]);
useEffect(() => {
const itv = setInterval(() => generateThumbnail.mutate(), 60000);
return () => {
clearInterval(itv);
};
}, []);
const onOpenFile = useCallback(
(fileId: number, autoSwitchTab = true) => {
const idx = curOpenFiles.indexOf(fileId);