feat: 🚸 shift key queue cancellations

This commit is contained in:
Josh Corbett
2024-01-18 20:07:56 -07:00
committed by psychedelicious
parent b917ffecbe
commit e03c88ce32
3 changed files with 63 additions and 65 deletions

View File

@@ -10,7 +10,8 @@ import {
InvMenuButton,
InvMenuDivider,
} from 'common/components/InvMenu/wrapper';
import { useCancelCurrentQueueItem } from 'features/queue/hooks/useCancelCurrentQueueItem';
import ClearQueueConfirmationAlertDialog from 'features/queue/components/ClearQueueConfirmationAlertDialog';
import { useClearQueue } from 'features/queue/hooks/useClearQueue';
import { usePauseProcessor } from 'features/queue/hooks/usePauseProcessor';
import { useResumeProcessor } from 'features/queue/hooks/useResumeProcessor';
import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus';
@@ -25,6 +26,7 @@ export const QueueActionsMenuButton = memo(() => {
const { isOpen, onOpen, onClose } = useDisclosure();
const dispatch = useAppDispatch();
const { t } = useTranslation();
const clearQueueDisclosure = useDisclosure()
const isPauseEnabled = useFeatureStatus('pauseQueue').isFeatureEnabled;
const isResumeEnabled = useFeatureStatus('resumeQueue').isFeatureEnabled;
const { queueSize } = useGetQueueStatusQuery(undefined, {
@@ -35,10 +37,9 @@ export const QueueActionsMenuButton = memo(() => {
}),
});
const {
cancelQueueItem,
isLoading: isLoadingCancelQueueItem,
isDisabled: isDisabledCancelQueueItem,
} = useCancelCurrentQueueItem();
isLoading: isLoadingClearQueue,
isDisabled: isDisabledClearQueue,
} = useClearQueue();
const {
resumeProcessor,
isLoading: isLoadingResumeProcessor,
@@ -55,6 +56,8 @@ export const QueueActionsMenuButton = memo(() => {
return (
<Box pos="relative">
<ClearQueueConfirmationAlertDialog disclosure={clearQueueDisclosure} />
<InvMenu
isOpen={isOpen}
onOpen={onOpen}
@@ -70,11 +73,11 @@ export const QueueActionsMenuButton = memo(() => {
<InvMenuItem
isDestructive
icon={<PiXBold size="16px" />}
onClick={cancelQueueItem}
isLoading={isLoadingCancelQueueItem}
isDisabled={isDisabledCancelQueueItem}
onClick={clearQueueDisclosure.onOpen}
isLoading={isLoadingClearQueue}
isDisabled={isDisabledClearQueue}
>
{t('queue.cancelTooltip')}
{t('queue.clearTooltip')}
</InvMenuItem>
{isResumeEnabled && (
<InvMenuItem