enhance: add "Show password"

This commit is contained in:
Tienson Qin
2022-09-13 17:42:52 +08:00
committed by Andelf
parent 9b34aec950
commit fdb53dab6c

View File

@@ -51,10 +51,20 @@
(fn [close-fn]
(encryption-dialog-inner repo-url close-fn)))
(rum/defc show-password-cp
[*show-password?]
[:div.flex.flex-row.items-center
[:label {:for "show-password"}
(ui/checkbox {:checked? @*show-password?
:on-change (fn [e]
(reset! *show-password? (util/echecked? e)))})]
[:span.text-sm.ml-1.opacity-80 "Show password"]])
(rum/defcs ^:large-vars/cleanup-todo input-password-inner < rum/reactive
(rum/local "" ::password)
(rum/local "" ::pw-confirm)
(rum/local false ::pw-confirm-focused?)
(rum/local false ::show-password?)
{:will-mount (fn [state]
;; try to close tour tips
(some->> (state/sub :file-sync/jstour-inst)
@@ -64,6 +74,7 @@
(let [*password (get state ::password)
*pw-confirm (get state ::pw-confirm)
*pw-confirm-focused? (get state ::pw-confirm-focused?)
*show-password? (get state ::show-password?)
*input-ref-0 (rum/create-ref)
*input-ref-1 (rum/create-ref)
remote-pw? (= type :input-pwd-remote)
@@ -213,7 +224,7 @@
:class (when (>= (int (:id pw-strength)) i) "active")} i])]]])]))
[:input.form-input.block.w-full.sm:text-sm.sm:leading-5.my-2
{:type "password"
{:type (if @*show-password? "text" "password")
:ref *input-ref-0
:placeholder "Password"
:auto-focus true
@@ -226,7 +237,7 @@
(when init-graph-keys
[:input.form-input.block.w-full.sm:text-sm.sm:leading-5.my-2
{:type "password"
{:type (if @*show-password? "text" "password")
:ref *input-ref-1
:placeholder "Re-enter the password"
:on-focus #(reset! *pw-confirm-focused? true)
@@ -236,6 +247,8 @@
:on-change (fn [^js e]
(reset! *pw-confirm (util/evalue e)))}])
(show-password-cp *show-password?)
(when init-graph-keys
[:div.init-remote-pw-tips.space-x-4.pt-2.hidden.sm:flex
[:div.flex-1.flex.items-center
@@ -307,9 +320,11 @@
(rum/defcs encryption-input-secret-inner <
(rum/local "" ::secret)
(rum/local false ::loading)
(rum/local false ::show-password?)
[state _repo-url db-encrypted-secret close-fn]
(let [secret (::secret state)
loading (::loading state)
*show-password? (::show-password? state)
on-click-fn (fn []
(reset! loading true)
(let [value @secret]
@@ -330,7 +345,7 @@
"Enter your password"]]]
[:input.form-input.block.w-full.sm:text-sm.sm:leading-5.my-2
{:type "password"
{:type (if @*show-password? "text" "password")
:auto-focus true
:on-change (fn [e]
(reset! secret (util/evalue e)))
@@ -338,6 +353,8 @@
(when (= (.-key e) "Enter")
(on-click-fn)))}]
(show-password-cp *show-password?)
[:div.mt-5.sm:mt-4.sm:flex.sm:flex-row-reverse
[:span.flex.w-full.rounded-md.shadow-sm.sm:ml-3.sm:w-auto
[:button.inline-flex.justify-center.w-full.rounded-md.border.border-transparent.px-4.py-2.bg-indigo-600.text-base.leading-6.font-medium.text-white.shadow-sm.hover:bg-indigo-500.focus:outline-none.focus:border-indigo-700.focus:shadow-outline-indigo.transition.ease-in-out.duration-150.sm:text-sm.sm:leading-5