refactor(ui): migrate from canceling queue items to deleteing, make queue hook APIs consistent

This commit is contained in:
psychedelicious
2025-06-06 18:29:43 +10:00
parent cc5083599d
commit 2ddcde13ff
50 changed files with 773 additions and 516 deletions

View File

@@ -1,5 +1,6 @@
import { Flex, Spacer } from '@invoke-ai/ui-library';
import { ClearQueueIconButton } from 'features/queue/components/ClearQueueIconButton';
import { Flex, Spacer, useShiftModifier } from '@invoke-ai/ui-library';
import { DeleteAllExceptCurrentQueueItemConfirmationAlertDialog } from 'features/queue/components/DeleteAllExceptCurrentQueueItemConfirmationAlertDialog';
import { DeleteCurrentQueueItemIconButton } from 'features/queue/components/DeleteCurrentQueueItemIconButton';
import { QueueActionsMenuButton } from 'features/queue/components/QueueActionsMenuButton';
import ProgressBar from 'features/system/components/ProgressBar';
import { memo } from 'react';
@@ -13,7 +14,7 @@ const QueueControls = () => {
<InvokeButton />
<Spacer />
<QueueActionsMenuButton />
<ClearQueueIconButton />
<DeleteIconButton />
</Flex>
<ProgressBar />
</Flex>
@@ -21,3 +22,15 @@ const QueueControls = () => {
};
export default memo(QueueControls);
export const DeleteIconButton = memo(() => {
const shift = useShiftModifier();
if (!shift) {
return <DeleteCurrentQueueItemIconButton />;
}
return <DeleteAllExceptCurrentQueueItemConfirmationAlertDialog />;
});
DeleteIconButton.displayName = 'DeleteIconButton';