+ {jobs.map((job) => {
+ const isComplete = job.status === JobStatus.Complete;
+ const isFailed = job.status === JobStatus.Failed;
+ const statusLabel = statusLabels[job.status] ?? job.status;
+ const createdAt = new Date(job.createdAt).toLocaleString();
+ return (
+
+
+ {job.data?.downloadUrl && (
+
+
+ {job.data.expiresAt && (
+
+ {t("status.expires")}:{" "}
+ {new Date(job.data.expiresAt).toLocaleString()}
+
+ )}
+
+ )}
+ {isFailed && (
+
+ {t("status.failed")}
+
+ )}
+ {!isComplete && !isFailed && (
+
+ {t("status.generating")}
+
+ )}
+
+ );
+ })}
+