History

Hide resume actions when execution is unavailable (#1266)

Rhys Sullivan committed 4 months ago

Commit 2e9d7461 parent 2f8d7b61 file · +12 −5Browse files

Unified · Split

packages/react/src/pages/resume-approval.tsx+12−5
@@ -230,6 +230,7 @@ export function ResumeApprovalPageView(props: { · 229 unmodified lines
230230 const busy = status.state === "submitting";
231231 const done = status.state === "done";
232232 const canSubmit = Boolean(displayedPaused) && !busy && !done;
233+ const unavailable = !nextPaused && AsyncResult.isFailure(paused);
233234
234235 return (
235236 <main className="flex min-h-full items-center justify-center bg-background px-4 py-8">
@@ -240,12 +241,14 @@ export function ResumeApprovalPageView(props: { · 4 unmodified lines
240241 </div>
241242 <div className="min-w-0 flex-1">
242243 <p className="text-xs font-medium uppercase tracking-wider text-muted-foreground">
243− User approval required
244+ {unavailable ? "Resume execution" : "User approval required"}
244245 </p>
245246 <h1 className="mt-1 text-xl font-semibold text-foreground">Resume execution</h1>
246− <p className="mt-2 text-sm leading-6 text-muted-foreground">
247− A paused tool call is waiting for your decision before it can continue.
248− </p>
247+ {!unavailable && (
248+ <p className="mt-2 text-sm leading-6 text-muted-foreground">
249+ A paused tool call is waiting for your decision before it can continue.
250+ </p>
251+ )}
249252 </div>
250253 </div>
251254
@@ -294,7 +297,11 @@ export function ResumeApprovalPageView(props: { · 42 unmodified lines
294297 <span className="text-xs font-medium text-muted-foreground">Execution </span>
295298 <code className="break-all font-mono text-xs text-foreground">{shortExecutionId}</code>
296299 </div>
297− {done ? (
300+ {unavailable ? (
301+ <Button type="button" asChild>
302+ <a href="/">Go home</a>
303+ </Button>
304+ ) : done ? (
298305 <CopyButton
299306 value={returnPrompt[status.action]}
300307 label="Copy prompt"