diff options
| author | Filip <[email protected]> | 2026-02-10 22:10:58 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-10 15:10:58 -0600 |
| commit | dce4c05fa9168ca78029142b06363c910cedd06c (patch) | |
| tree | 1a1ddfa7649a758b8177d17e63935536d15886a6 /packages/app/src/components/session | |
| parent | 8c56571ef95df398fff683253649414a1681c6f6 (diff) | |
| download | opencode-dce4c05fa9168ca78029142b06363c910cedd06c.tar.gz opencode-dce4c05fa9168ca78029142b06363c910cedd06c.zip | |
fix(desktop): open apps with executables on Windows (#13022)
Diffstat (limited to 'packages/app/src/components/session')
| -rw-r--r-- | packages/app/src/components/session/session-header.tsx | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index 18b607b96..94b843666 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -166,6 +166,7 @@ export function SessionHeader() { }) const [prefs, setPrefs] = persisted(Persist.global("open.app"), createStore({ app: "finder" as OpenApp })) + const [menu, setMenu] = createStore({ open: false }) const canOpen = createMemo(() => platform.platform === "desktop" && !!platform.openPath && server.isLocal()) const current = createMemo(() => options().find((o) => o.id === prefs.app) ?? options()[0]) @@ -355,7 +356,12 @@ export function SessionHeader() { <span class="text-12-regular text-text-strong">Open</span> </Button> <div class="self-stretch w-px bg-border-base/70" /> - <DropdownMenu gutter={6} placement="bottom-end"> + <DropdownMenu + gutter={6} + placement="bottom-end" + open={menu.open} + onOpenChange={(open) => setMenu("open", open)} + > <DropdownMenu.Trigger as={IconButton} icon="chevron-down" @@ -375,7 +381,13 @@ export function SessionHeader() { }} > {options().map((o) => ( - <DropdownMenu.RadioItem value={o.id} onSelect={() => openDir(o.id)}> + <DropdownMenu.RadioItem + value={o.id} + onSelect={() => { + setMenu("open", false) + openDir(o.id) + }} + > <div class="flex size-5 shrink-0 items-center justify-center"> <AppIcon id={o.icon} class={size(o.icon)} /> </div> @@ -388,7 +400,12 @@ export function SessionHeader() { </DropdownMenu.RadioGroup> </DropdownMenu.Group> <DropdownMenu.Separator /> - <DropdownMenu.Item onSelect={copyPath}> + <DropdownMenu.Item + onSelect={() => { + setMenu("open", false) + copyPath() + }} + > <div class="flex size-5 shrink-0 items-center justify-center"> <Icon name="copy" size="small" class="text-icon-weak" /> </div> |
