diff --git a/src/components/TopMenuSection.vue b/src/components/TopMenuSection.vue index fe8bc94017..47b60e4eb0 100644 --- a/src/components/TopMenuSection.vue +++ b/src/components/TopMenuSection.vue @@ -43,6 +43,7 @@ class="[&:not(:has(*>*:not(:empty)))]:hidden" > @@ -103,10 +104,18 @@
+ +
+ +
+
@@ -195,6 +204,25 @@ const isQueueProgressOverlayVisible = computed( () => !isQueuePanelV2Enabled.value ) const isInlineProgressVisible = computed(() => isQueuePanelV2Enabled.value) +type PanelElementTarget = HTMLElement | { value?: HTMLElement | null } | null +const shouldShowInlineProgressSummary = computed( + () => isInlineProgressVisible.value && isActionbarEnabled.value +) +const actionbarRef = ref<{ panelElement: PanelElementTarget } | null>(null) +const resolvePanelElement = (target: PanelElementTarget) => { + if (!target) return null + if (target instanceof HTMLElement) return target + if (typeof target === 'object' && 'value' in target) { + return target.value ?? null + } + return null +} +const inlineProgressSummaryTarget = computed(() => { + if (!shouldShowInlineProgressSummary.value || !isActionbarFloating.value) { + return null + } + return resolvePanelElement(actionbarRef.value?.panelElement ?? null) +}) const queueHistoryTooltipConfig = computed(() => buildTooltipConfig(t('sideToolbar.queueProgressOverlay.viewJobHistory')) ) diff --git a/src/components/actionbar/ComfyActionbar.vue b/src/components/actionbar/ComfyActionbar.vue index bd73eef3d4..6d8c902e6e 100644 --- a/src/components/actionbar/ComfyActionbar.vue +++ b/src/components/actionbar/ComfyActionbar.vue @@ -282,6 +282,8 @@ const inlineProgressTarget = computed(() => { return panelElement.value }) +defineExpose({ panelElement }) + // Handle drag state changes watch(isDragging, (dragging) => { if (dragging) {