(`/api/online/downloads/${effectiveTaskId}/`),
+ enabled: Boolean(effectiveTaskId),
refetchInterval: (query) => {
const status = query.state.data?.status;
return status === "pending" || status === "downloading" ? 700 : false;
@@ -176,15 +195,17 @@ export function OnlineDetail({ postId }: { postId: number }) {
if (downloadStatus === "complete") {
void queryClient.invalidateQueries({ queryKey: ["library-lookup"] });
void queryClient.invalidateQueries({ queryKey: ["files"] });
+ void queryClient.invalidateQueries({ queryKey: ["download-tasks"] });
}
}, [downloadStatus, queryClient]);
function cancelDownload() {
- if (!downloadTaskId) return;
- void api(`/api/online/downloads/${downloadTaskId}/cancel/`, {
+ if (!effectiveTaskId) return;
+ void api(`/api/online/downloads/${effectiveTaskId}/cancel/`, {
method: "POST",
}).then(() => {
void queryClient.invalidateQueries({ queryKey: ["status"] });
+ void queryClient.invalidateQueries({ queryKey: ["download-tasks"] });
});
}
@@ -362,6 +383,22 @@ export function OnlineDetail({ postId }: { postId: number }) {
{downloadTask.error || "Download failed."}
+ ) : remoteFinishedTask && !downloadMutation.isPending ? (
+
+
+ Your last download for this post finished
+ {remoteFinishedTask.library_j_id ? (
+ <>
+ {" — "}
+
+ {remoteFinishedTask.library_j_id}
+
+ >
+ ) : null}
+
) : null}
{favoriteMutation.isError ? (