diff --git a/.changeset/vast-oranges-fail.md b/.changeset/vast-oranges-fail.md new file mode 100644 index 0000000000..5471ebeb2f --- /dev/null +++ b/.changeset/vast-oranges-fail.md @@ -0,0 +1,5 @@ +--- +"@workflow/web-shared": patch +--- + +Support in-line decryption for data inspector on the detail panel diff --git a/packages/web-shared/src/components/sidebar/attribute-panel.tsx b/packages/web-shared/src/components/sidebar/attribute-panel.tsx index 04ac416f9b..57ae04d2f5 100644 --- a/packages/web-shared/src/components/sidebar/attribute-panel.tsx +++ b/packages/web-shared/src/components/sidebar/attribute-panel.tsx @@ -4,6 +4,7 @@ import { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name'; import type { Event, Hook, Step, WorkflowRun } from '@workflow/world'; import type { ModelMessage } from 'ai'; import { Lock } from 'lucide-react'; +import { Spinner } from '../ui/spinner'; import type { KeyboardEvent, ReactNode } from 'react'; import { useCallback, useContext, useMemo, useState } from 'react'; import { isEncryptedMarker, isExpiredMarker } from '../../lib/hydration'; @@ -197,13 +198,7 @@ function EncryptedFieldBlock() { title="Click to decrypt" > {ctx.isDecrypting ? ( - + ) : ( )} diff --git a/packages/web-shared/src/components/sidebar/entity-detail-panel.tsx b/packages/web-shared/src/components/sidebar/entity-detail-panel.tsx index d2defbb172..833d8b342b 100644 --- a/packages/web-shared/src/components/sidebar/entity-detail-panel.tsx +++ b/packages/web-shared/src/components/sidebar/entity-detail-panel.tsx @@ -6,6 +6,7 @@ import { Send, Zap } from 'lucide-react'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useToast } from '../../lib/toast'; import { isEncryptedMarker } from '../../lib/hydration'; +import { DecryptClickContext } from '../ui/data-inspector'; import { DecryptButton } from '../ui/decrypt-button'; import { AttributePanel } from './attribute-panel'; import { EventsList } from './events-list'; @@ -405,103 +406,107 @@ export function EntityDetailPanel({ -
- {hasPendingActions && ( -
-

+

+ {hasPendingActions && ( +
- Actions -

-
- {/* Wake up button for pending sleep calls */} - {resource === 'sleep' && canWakeUp && ( - - )} - - {/* Resolve hook button for pending hooks */} - {resource === 'hook' && canResolveHook && ( - - )} +

+ Actions +

+
+ {/* Wake up button for pending sleep calls */} + {resource === 'sleep' && canWakeUp && ( + + )} + + {/* Resolve hook button for pending hooks */} + {resource === 'hook' && canResolveHook && ( + + )} +
-
- )} + )} -
-
-

- Details -

- -
- - {resource !== 'run' && rawEvents && ( +
- + Details + +
- )} + + {resource !== 'run' && rawEvents && ( +
+ +
+ )} +
-
+ {/* Resolve Hook Modal */} {ctx.isDecrypting ? ( - + ) : (