Install plugin by pressing enter on plugins dialog

This commit is contained in:
Andrey Antukh 2026-02-23 15:22:49 +01:00
parent 24fc84054d
commit a6e0113b25
2 changed files with 10 additions and 2 deletions

View File

@ -13,7 +13,7 @@
[rumext.v2 :as mf]))
(mf/defc search-bar*
[{:keys [id class value placeholder icon-id auto-focus on-change on-clear children]}]
[{:keys [id class value placeholder icon-id auto-focus on-change on-clear on-submit children]}]
(let [handle-change
(mf/use-fn
(mf/deps on-change)
@ -31,12 +31,19 @@
handle-key-down
(mf/use-fn
(mf/deps on-submit)
(fn [event]
(let [enter? (kbd/enter? event)
esc? (kbd/esc? event)
node (dom/get-target event)]
(when ^boolean enter? (dom/blur! node))
(when ^boolean enter?
(dom/blur! node)
(when (fn? on-submit)
(let [value (dom/get-target-val event)]
(on-submit value event))))
(when ^boolean esc? (dom/blur! node)))))]
[:span {:class (stl/css-case :search-box true
:has-children (some? children))}
children

View File

@ -191,6 +191,7 @@
[:div {:class (stl/css :modal-content)}
[:div {:class (stl/css :top-bar)}
[:> search-bar* {:on-change on-url-change
:on-submit on-install
:value plugin-url
:placeholder (tr "workspace.plugins.search-placeholder")
:class (stl/css-case :input-error error?)}]