authorgravatar for hi@4bs3nt.comjan <hi@4bs3nt.com> 2026-07-27 19:59:21+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-07-27 19:59:21+02:00
logf0121f31d0e7c069f4007480fc13907c28efd4d5
treeabf695a8210b7b498c390137c3a6f50bff100c58
parent0e19c103ef07b6a2c143839d2d2a9cf223915d1e
signature Signed by PGP key B5690EEEBB952194

fix: close actions dropdown when editing (#4660)


1 files changed, 15 insertions(+), 2 deletions(-)

apps/web/src/components/ProjectScriptsControl.tsx+15-2
......@@ -138,6 +138,10 @@ export default function ProjectScriptsControl({
138138}: ProjectScriptsControlProps) {
139139 const addScriptFormId = React.useId();
140140 const [editingScriptId, setEditingScriptId] = useState<string | null>(null);
141 const [actionsMenuOpen, setActionsMenuOpen] = useState({
142 scripts: false,
143 imports: false,
144 });
141145 const [dialogOpen, setDialogOpen] = useState(false);
142146 const [name, setName] = useState("");
143147 const [command, setCommand] = useState("");
......@@ -255,6 +259,7 @@ export default function ProjectScriptsControl({
255259 };
256260
257261 const openEditDialog = (script: ProjectScript) => {
262 setActionsMenuOpen({ scripts: false, imports: false });
258263 setEditingScriptId(script.id);
259264 setName(script.name);
260265 setCommand(script.command);
......@@ -349,7 +354,11 @@ export default function ProjectScriptsControl({
349354 <TooltipPopup side="top">Run {primaryScript.name}</TooltipPopup>
350355 </Tooltip>
351356 <GroupSeparator className="hidden @3xl/header-actions:block" />
352 <Menu highlightItemOnHover={false}>
357 <Menu
358 highlightItemOnHover={false}
359 open={actionsMenuOpen.scripts}
360 onOpenChange={(open) => setActionsMenuOpen({ scripts: open, imports: false })}
361 >
353362 <MenuTrigger
354363 render={<Button size="icon-xs" variant="outline" aria-label="Script actions" />}
355364 >
......@@ -408,7 +417,11 @@ export default function ProjectScriptsControl({
408417 </Menu>
409418 </Group>
410419 ) : importableScripts.length > 0 ? (
411 <Menu highlightItemOnHover={false}>
420 <Menu
421 highlightItemOnHover={false}
422 open={actionsMenuOpen.imports}
423 onOpenChange={(open) => setActionsMenuOpen({ scripts: false, imports: open })}
424 >
412425 <MenuTrigger render={<Button size="xs" variant="outline" aria-label="Project actions" />}>
413426 <PlusIcon className="size-3.5" />
414427 <span className="sr-only @3xl/header-actions:not-sr-only @3xl/header-actions:ml-0.5">