diff options
| author | adamelmore <[email protected]> | 2026-01-24 14:50:22 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-24 15:01:05 -0600 |
| commit | dc1ff0e63e78aa998074678d7fbdfeee5ab8adab (patch) | |
| tree | 7f2ecfcecc0abd4d73f44be233027748f7504347 | |
| parent | 7ba25c6afb3bc1db1ed38f66121b9c95e988e1f0 (diff) | |
| download | opencode-dc1ff0e63e78aa998074678d7fbdfeee5ab8adab.tar.gz opencode-dc1ff0e63e78aa998074678d7fbdfeee5ab8adab.zip | |
fix(app): model select not closing on escape
| -rw-r--r-- | packages/app/src/components/dialog-select-model.tsx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/app/src/components/dialog-select-model.tsx b/packages/app/src/components/dialog-select-model.tsx index 4d2646e8f..2ee1d9db1 100644 --- a/packages/app/src/components/dialog-select-model.tsx +++ b/packages/app/src/components/dialog-select-model.tsx @@ -167,6 +167,7 @@ export function ModelSelectorPopover<T extends ValidComponent = "div">(props: { if (next) setStore("dismiss", null) setStore("open", next) }} + modal={false} placement="top-start" gutter={8} > @@ -181,6 +182,20 @@ export function ModelSelectorPopover<T extends ValidComponent = "div">(props: { <Kobalte.Content ref={(el) => setStore("content", el)} class="w-72 h-80 flex flex-col rounded-md border border-border-base bg-surface-raised-stronger-non-alpha shadow-md z-50 outline-none overflow-hidden" + onEscapeKeyDown={(event) => { + setStore("dismiss", "escape") + setStore("open", false) + event.preventDefault() + event.stopPropagation() + }} + onPointerDownOutside={() => { + setStore("dismiss", "outside") + setStore("open", false) + }} + onFocusOutside={() => { + setStore("dismiss", "outside") + setStore("open", false) + }} onCloseAutoFocus={(event) => { if (store.dismiss === "outside") event.preventDefault() setStore("dismiss", null) |
