diff --git a/src/main/frontend/common/crypt.cljs b/src/main/frontend/common/crypt.cljs index 728c5a0438..f2fab1a15d 100644 --- a/src/main/frontend/common/crypt.cljs +++ b/src/main/frontend/common/crypt.cljs @@ -35,6 +35,20 @@ true #js ["encrypt"])) +(defn (p/let [kp ( e .-target .-value)))}] + (shui/button + {:on-click (fn [] + (p/resolve! password-promise password) + (shui/dialog-close!))} + "OK") + (shui/button + {:on-click (fn [] + (p/reject! password-promise :cancelled) + (shui/dialog-close!))} + "Cancel")]])) + +(rum/defc e2ee-password-to-decrypt-private-key + [encrypted-private-key private-key-promise] + (let [[password set-password!] (hooks/use-state "") + [decrypt-fail? set-decrypt-fail] (hooks/use-state false)] + [:div.e2ee-password-modal-overlay + [:div.e2ee-password-modal-content + [:h3 "Enter E2EE Password"] + (when decrypt-fail? [:p "Wrong Password"]) + [:input {:type "password" + :value password + :on-change (fn [e] (set-password! (-> e .-target .-value)))}] + (shui/button + {:on-click (fn [] + (-> + (p/let [private-key (crypt/ + (p/let [private-key-promise (state/pub-event! [:rtc/decrypt-user-e2ee-private-key encrypted-private-key]) + private-key private-key-promise] + (crypt/