summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/components')
-rw-r--r--packages/app/src/components/session/session-header.tsx23
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>