diff --git a/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte b/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte index 195a1d6fad..1b219153da 100644 --- a/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte +++ b/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte @@ -3,7 +3,7 @@ import { type Job, JobService } from '$lib/gen' import { workspaceStore } from '$lib/stores' import { sendUserToast } from '$lib/toast' - import { X } from 'lucide-svelte' + import { ExternalLink, X } from 'lucide-svelte' import DisplayResult from './DisplayResult.svelte' import Tooltip from './Tooltip.svelte' import { Button } from './common' @@ -23,6 +23,7 @@ let default_payload: object = $state({}) let description: any = $state(undefined) let hide_cancel = $state(false) + let approvalPageUrl: string | undefined = $state(undefined) let defaultValues = $state({}) @@ -47,6 +48,8 @@ defaultValues = JSON.parse(JSON.stringify(args)) default_payload = args + approvalPageUrl = job_result?.['approvalPage'] + actionTaken = false hide_cancel = job?.raw_flow?.modules?.[approvalStep]?.suspend?.hide_cancel ?? false schema = mergeSchema( job?.raw_flow?.modules?.[approvalStep]?.suspend?.resume_form?.schema ?? {}, @@ -55,6 +58,7 @@ } let loading = $state(false) + let actionTaken = $state(false) async function continu(approve: boolean) { loading = true try { @@ -66,6 +70,7 @@ approved: approve } }) + actionTaken = true } catch (e: any) { sendUserToast(e?.body ?? e?.message ?? 'Failed', true) } finally { @@ -84,7 +89,7 @@
{/if}