diff --git a/plugins/scaffolder/src/components/JobStatusModal/JobStatusModal.tsx b/plugins/scaffolder/src/components/JobStatusModal/JobStatusModal.tsx
index 5051475ae8..d35385ec3b 100644
--- a/plugins/scaffolder/src/components/JobStatusModal/JobStatusModal.tsx
+++ b/plugins/scaffolder/src/components/JobStatusModal/JobStatusModal.tsx
@@ -31,14 +31,14 @@ type Props = {
job: Job | null;
toCatalogLink?: string;
open: boolean;
- setOpen: (newState: boolean) => void;
+ onModalClose: () => void;
};
export const JobStatusModal = ({
job,
toCatalogLink,
open,
- setOpen,
+ onModalClose,
}: Props) => {
const renderTitle = () => {
switch (job?.status) {
@@ -52,14 +52,14 @@ export const JobStatusModal = ({
};
const onClose = useCallback(() => {
- setOpen(false);
if (!job) {
return;
}
+ // Disallow closing modal if the job is in progress.
if (job.status === 'COMPLETED' || job.status === 'FAILED') {
- setOpen(false);
+ onModalClose();
}
- }, [job, setOpen]);
+ }, [job, onModalClose]);
return (
diff --git a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx
index cdf9b05b4c..fd4e4c3ded 100644
--- a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx
+++ b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx
@@ -165,7 +165,7 @@ export const TemplatePage = () => {
job={job}
toCatalogLink={catalogLink}
open={modalOpen}
- setOpen={setModalOpen}
+ onModalClose={() => setModalOpen(false)}
/>
{template && (