diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index 423ce41bcd..62d4c95a45 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -8,6 +8,7 @@ import { useClearIntermediatesMutation, useGetIntermediatesCountQuery, } from '../../../../services/api/endpoints/images'; +import { useGetQueueStatusQuery } from 'services/api/endpoints/queue'; import { resetCanvas } from '../../../canvas/store/canvasSlice'; import { addToast } from '../../store/systemSlice'; import StyledFlex from './StyledFlex'; @@ -22,7 +23,14 @@ export default function SettingsClearIntermediates() { const [clearIntermediates, { isLoading: isLoadingClearIntermediates }] = useClearIntermediatesMutation(); + const { data: queueStatus } = useGetQueueStatusQuery(); + const hasPendingItems = queueStatus && (queueStatus.in_progress > 0 || queueStatus.pending > 0); + const handleClickClearIntermediates = useCallback(() => { + if (hasPendingItems) { + return; + } + clearIntermediates() .unwrap() .then((clearedCount) => {