mirror of
https://github.com/makeplane/plane.git
synced 2026-07-12 05:21:14 +02:00
fix: workspace download mutation (#798)
This commit is contained in:
committed by
GitHub
parent
cc45bbeb4b
commit
938d2fd01d
@@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
|
||||
import { FC } from "react";
|
||||
import { FC, useEffect } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { ArrowRight } from "lucide-react";
|
||||
import { Button } from "@plane/ui";
|
||||
@@ -15,13 +15,14 @@ import { EWorklogDownloadLoader } from "@/plane-web/constants/workspace-worklog"
|
||||
import { useWorklogDownload, useWorkspaceWorklogDownloads } from "@/plane-web/hooks/store";
|
||||
|
||||
type TWorkspaceWorklogDownloadItem = {
|
||||
workspaceSlug: string;
|
||||
worklogDownloadId: string;
|
||||
};
|
||||
|
||||
export const WorkspaceWorklogDownloadItem: FC<TWorkspaceWorklogDownloadItem> = observer((props) => {
|
||||
const { worklogDownloadId } = props;
|
||||
const { workspaceSlug, worklogDownloadId } = props;
|
||||
// hooks
|
||||
const { loader } = useWorkspaceWorklogDownloads();
|
||||
const { loader, getWorkspaceWorklogDownloads } = useWorkspaceWorklogDownloads();
|
||||
const { asJson: worklogDownload } = useWorklogDownload(worklogDownloadId);
|
||||
const {
|
||||
workspace: { getWorkspaceMemberDetails },
|
||||
@@ -48,6 +49,18 @@ export const WorkspaceWorklogDownloadItem: FC<TWorkspaceWorklogDownloadItem> = o
|
||||
worklogDownload?.name || `Export to ${worklogDownload.provider}`
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
const interval = setInterval(() => {
|
||||
if (["processing", "queued"].includes(worklogDownload?.status ?? "")) {
|
||||
getWorkspaceWorklogDownloads(workspaceSlug, EWorklogDownloadLoader.MUTATION_LOADER);
|
||||
} else {
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
return () => clearInterval(interval);
|
||||
}, [workspaceSlug, worklogDownload?.status]);
|
||||
|
||||
if (!worklogDownload) return <></>;
|
||||
|
||||
return (
|
||||
|
||||
@@ -37,7 +37,11 @@ export const WorkspaceWorklogDownloadList: FC<TWorkspaceWorklogDownloadList> = o
|
||||
<WorklogDownloadEmptyScreen />
|
||||
) : (
|
||||
worklogDownloadIds.map((downloadId) => (
|
||||
<WorkspaceWorklogDownloadItem worklogDownloadId={downloadId} key={downloadId} />
|
||||
<WorkspaceWorklogDownloadItem
|
||||
workspaceSlug={workspaceSlug}
|
||||
worklogDownloadId={downloadId}
|
||||
key={downloadId}
|
||||
/>
|
||||
))
|
||||
)}
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user