diff --git a/web/src/routes/(user)/workflows/[workflowId]/WorkflowSummary.svelte b/web/src/routes/(user)/workflows/[workflowId]/WorkflowSummary.svelte
index 85bb9bea8d..8b44e45219 100644
--- a/web/src/routes/(user)/workflows/[workflowId]/WorkflowSummary.svelte
+++ b/web/src/routes/(user)/workflows/[workflowId]/WorkflowSummary.svelte
@@ -2,20 +2,18 @@
import { pluginManager } from '$lib/managers/plugin-manager.svelte';
import { getTriggerName } from '$lib/utils/workflow';
import type { WorkflowStepDto, WorkflowTrigger } from '@immich/sdk';
- import { Icon, IconButton, Text } from '@immich/ui';
+ import { Icon, IconButton, shortcut, Text } from '@immich/ui';
import { mdiCheck, mdiClose, mdiContentCopy, mdiViewDashboardOutline } from '@mdi/js';
import { t } from 'svelte-i18n';
import { fly } from 'svelte/transition';
- type WorkflowSummaryData = {
- name: string | null;
- description: string | null;
- trigger: WorkflowTrigger;
- steps: WorkflowStepDto[];
- };
-
type Props = {
- workflow: WorkflowSummaryData;
+ workflow: {
+ name: string | null;
+ description: string | null;
+ trigger: WorkflowTrigger;
+ steps: WorkflowStepDto[];
+ };
};
let { workflow }: Props = $props();
@@ -23,35 +21,6 @@
let isOpen = $state(false);
let justCopied = $state(false);
let copyTimer: ReturnType
| undefined;
- let panelElement = $state(undefined);
-
- $effect(() => {
- if (!isOpen) {
- return;
- }
-
- const handleKeydown = (event: KeyboardEvent) => {
- if (event.key === 'Escape') {
- event.stopPropagation();
- event.preventDefault();
- isOpen = false;
- }
- };
-
- const handlePointerDown = (event: PointerEvent) => {
- if (panelElement && event.target instanceof Node && !panelElement.contains(event.target)) {
- isOpen = false;
- }
- };
-
- document.addEventListener('keydown', handleKeydown, { capture: true });
- document.addEventListener('pointerdown', handlePointerDown);
-
- return () => {
- document.removeEventListener('keydown', handleKeydown, { capture: true });
- document.removeEventListener('pointerdown', handlePointerDown);
- };
- });
const formatConfigValue = (value: unknown): string => {
if (value === null || value === undefined) {
@@ -127,9 +96,10 @@
};
+ (isOpen = false) }} />
+
{#if isOpen}