mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
fix(ui): more fiddly queue count layout stuff
This commit is contained in:
parent
d60605fcd8
commit
6c1fb2d06e
@ -9,6 +9,7 @@ import {
|
|||||||
Portal,
|
Portal,
|
||||||
useDisclosure,
|
useDisclosure,
|
||||||
} from '@invoke-ai/ui-library';
|
} from '@invoke-ai/ui-library';
|
||||||
|
import { useStore } from '@nanostores/react';
|
||||||
import { useAppDispatch } from 'app/store/storeHooks';
|
import { useAppDispatch } from 'app/store/storeHooks';
|
||||||
import type { Coordinate } from 'features/controlLayers/store/types';
|
import type { Coordinate } from 'features/controlLayers/store/types';
|
||||||
import { useClearQueueConfirmationAlertDialog } from 'features/queue/components/ClearQueueConfirmationAlertDialog';
|
import { useClearQueueConfirmationAlertDialog } from 'features/queue/components/ClearQueueConfirmationAlertDialog';
|
||||||
@ -16,7 +17,7 @@ import { useClearQueue } from 'features/queue/hooks/useClearQueue';
|
|||||||
import { usePauseProcessor } from 'features/queue/hooks/usePauseProcessor';
|
import { usePauseProcessor } from 'features/queue/hooks/usePauseProcessor';
|
||||||
import { useResumeProcessor } from 'features/queue/hooks/useResumeProcessor';
|
import { useResumeProcessor } from 'features/queue/hooks/useResumeProcessor';
|
||||||
import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus';
|
import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus';
|
||||||
import { setActiveTab } from 'features/ui/store/uiSlice';
|
import { $isParametersPanelOpen, setActiveTab } from 'features/ui/store/uiSlice';
|
||||||
import type { RefObject } from 'react';
|
import type { RefObject } from 'react';
|
||||||
import { memo, useCallback, useEffect, useRef, useState } from 'react';
|
import { memo, useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
@ -34,6 +35,7 @@ export const QueueActionsMenuButton = memo(({ containerRef }: Props) => {
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const [badgePos, setBadgePos] = useState<Coordinate | null>(null);
|
const [badgePos, setBadgePos] = useState<Coordinate | null>(null);
|
||||||
const menuButtonRef = useRef<HTMLButtonElement>(null);
|
const menuButtonRef = useRef<HTMLButtonElement>(null);
|
||||||
|
const isParametersPanelOpen = useStore($isParametersPanelOpen);
|
||||||
const dialogState = useClearQueueConfirmationAlertDialog();
|
const dialogState = useClearQueueConfirmationAlertDialog();
|
||||||
const isPauseEnabled = useFeatureStatus('pauseQueue');
|
const isPauseEnabled = useFeatureStatus('pauseQueue');
|
||||||
const isResumeEnabled = useFeatureStatus('resumeQueue');
|
const isResumeEnabled = useFeatureStatus('resumeQueue');
|
||||||
@ -66,6 +68,9 @@ export const QueueActionsMenuButton = memo(({ containerRef }: Props) => {
|
|||||||
const menuButton = menuButtonRef.current;
|
const menuButton = menuButtonRef.current;
|
||||||
|
|
||||||
const cb = () => {
|
const cb = () => {
|
||||||
|
if (!$isParametersPanelOpen.get()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const { x, y } = menuButton.getBoundingClientRect();
|
const { x, y } = menuButton.getBoundingClientRect();
|
||||||
setBadgePos({ x: x - 10, y: y - 10 });
|
setBadgePos({ x: x - 10, y: y - 10 });
|
||||||
};
|
};
|
||||||
@ -120,7 +125,7 @@ export const QueueActionsMenuButton = memo(({ containerRef }: Props) => {
|
|||||||
</MenuItem>
|
</MenuItem>
|
||||||
</MenuList>
|
</MenuList>
|
||||||
</Menu>
|
</Menu>
|
||||||
{queueSize > 0 && badgePos !== null && (
|
{queueSize > 0 && badgePos !== null && isParametersPanelOpen && (
|
||||||
<Portal>
|
<Portal>
|
||||||
<Badge
|
<Badge
|
||||||
pos="absolute"
|
pos="absolute"
|
||||||
|
Loading…
Reference in New Issue
Block a user