From ed40fd3364b7bb575f55ddf07475e7689a037a32 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Tue, 17 Feb 2026 23:09:09 -0800 Subject: [PATCH] Reset script dialog state after close animation - Clear form fields only after the dialog close completes to avoid stale state during transitions - Keep icon picker closed when the dialog closes Co-authored-by: codex --- .../src/components/ProjectScriptsControl.tsx | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/apps/web/src/components/ProjectScriptsControl.tsx b/apps/web/src/components/ProjectScriptsControl.tsx index f2e192e349d68455bede7835be5d8daeb35afc77..71d1edad9757762c0b3481afc83f6ae23eee9195 100644 --- a/apps/web/src/components/ProjectScriptsControl.tsx +++ b/apps/web/src/components/ProjectScriptsControl.tsx @@ -225,13 +225,7 @@ export default function ProjectScriptsControl({ await onAddScript(payload); } setDialogOpen(false); - setEditingScriptId(null); - setName(""); - setCommand(""); - setIcon("play"); setIconPickerOpen(false); - setRunOnWorktreeCreate(false); - setKeybinding(""); } catch (error) { setValidationError(error instanceof Error ? error.message : "Failed to save action."); } @@ -339,7 +333,25 @@ export default function ProjectScriptsControl({ )} - + { + setDialogOpen(open); + if (!open) { + setIconPickerOpen(false); + } + }} + onOpenChangeComplete={(open) => { + if (open) return; + setEditingScriptId(null); + setName(""); + setCommand(""); + setIcon("play"); + setRunOnWorktreeCreate(false); + setKeybinding(""); + setValidationError(null); + }} + open={dialogOpen} + > {isEditing ? "Edit Action" : "Add Action"} @@ -437,7 +449,6 @@ export default function ProjectScriptsControl({ variant="outline" onClick={() => { setDialogOpen(false); - setEditingScriptId(null); }} > Cancel -- 2.54.0