♻️ Migrate auth flow pages to modern component syntax (#9469)

Refactor the 6 mf/defc components across the auth flow
(login, password recovery, recovery request) to modern
mf/defc name* syntax. Modern syntax avoids per-render
JS->CLJS prop-conversion overhead.

- Rename login-page -> login-page* in
  frontend/src/app/main/ui/auth/login.cljs.
- Rename 
ecovery-form -> 
ecovery-form* and
  
ecovery-page -> 
ecovery-page* in
  frontend/src/app/main/ui/auth/recovery.cljs.
- Rename 
ecovery-form -> 
ecovery-form*,
  
ecovery-request-page -> 
ecovery-request-page*,
  
ecovery-sent-page -> 
ecovery-sent-page* in
  frontend/src/app/main/ui/auth/recovery_request.cljs
  (drop redundant {::mf/props :obj} marker since the *
  suffix already implies it).
- Drop unused :as props destructure bindings.
- Update internal forwarding callsites (2) and external
  callers in auth.cljs (3 callsites + 3 :refer imports),
  viewer/login.cljs (1 callsite + 1 :refer), and
  static.cljs (2 callsites + 1 :refer).

Refs #9260

Signed-off-by: since-2017-hub <since2017hub@gmail.com>
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
since-2017-hub 2026-06-23 03:38:07 -04:00 committed by GitHub
parent 66c8ebf198
commit 46abf1c968
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 19 additions and 20 deletions

View File

@ -10,9 +10,9 @@
[app.common.data.macros :as dm]
[app.main.data.auth :as da]
[app.main.store :as st]
[app.main.ui.auth.login :refer [login-page]]
[app.main.ui.auth.login :refer [login-page*]]
[app.main.ui.auth.recovery :refer [recovery-page*]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page*]]
[app.main.ui.auth.register :refer [register-page* register-success-page* register-validate-page* terms-register*]]
[app.main.ui.icons :as deprecated-icon]
[app.util.dom :as dom]
@ -63,10 +63,10 @@
[:> register-validate-page* {:params params}]
:auth-login
[:& login-page {:params params}]
[:> login-page* {:params params}]
:auth-recovery-request
[:& recovery-request-page]
[:> recovery-request-page*]
:auth-recovery
[:> recovery-page* {:params params}])

View File

@ -259,8 +259,8 @@
(contains? cf/flags :login-with-ldap))
[:> login-form* props])])
(mf/defc login-page
[{:keys [params] :as props}]
(mf/defc login-page*
[{:keys [params]}]
(let [go-register
(mf/use-fn
#(st/emit! (rt/nav :auth-register params)))]

View File

@ -22,8 +22,8 @@
[:map {:title "RecoverRequestForm"}
[:email ::sm/email]])
(mf/defc recovery-form
[{:keys [on-success-callback] :as props}]
(mf/defc recovery-form*
[{:keys [on-success-callback]}]
(let [form (fm/use-form :schema schema:recovery-request-form
:initial {})
submitted (mf/use-state false)
@ -86,8 +86,8 @@
;; --- Recovery Request Page
(mf/defc recovery-request-page
[{:keys [params on-success-callback go-back-callback] :as props}]
(mf/defc recovery-request-page*
[{:keys [params on-success-callback go-back-callback]}]
(let [default-go-back #(st/emit! (rt/nav :auth-login))
go-back (or go-back-callback default-go-back)]
[:div {:class (stl/css :auth-form-wrapper)}
@ -95,7 +95,7 @@
[:div {:class (stl/css :auth-subtitle)} (tr "auth.recovery-request-subtitle")]
[:hr {:class (stl/css :separator)}]
[:& recovery-form {:params params :on-success-callback on-success-callback}]
[:> recovery-form* {:params params :on-success-callback on-success-callback}]
[:hr {:class (stl/css :separator)}]
[:div {:class (stl/css :go-back)}
[:> lk/link* {:action go-back
@ -104,8 +104,7 @@
(tr "labels.go-back")]]]))
(mf/defc recovery-sent-page
{::mf/props :obj}
(mf/defc recovery-sent-page*
[{:keys [email]}]
[:div {:class (stl/css :auth-form-wrapper :register-success)}
[:div {:class (stl/css :auth-title-wrapper)}

View File

@ -21,7 +21,7 @@
[app.main.router :as rt]
[app.main.store :as st]
[app.main.ui.auth.login :refer [login-dialog*]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page recovery-sent-page]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page* recovery-sent-page*]]
[app.main.ui.auth.register :as register]
[app.main.ui.dashboard.sidebar :refer [sidebar*]]
[app.main.ui.ds.buttons.button :refer [button*]]
@ -201,12 +201,12 @@
[:> register/register-success-page* {:params {:email @user-email :hide-logo true}}]]
:recovery-request
[:& recovery-request-page {:go-back-callback set-section-login
:on-success-callback recovery-email-sent}]
[:> recovery-request-page* {:go-back-callback set-section-login
:on-success-callback recovery-email-sent}]
:recovery-email-sent
[:div {:class (stl/css :form-container)}
[:& recovery-sent-page {:email @user-email}]])]]]))
[:> recovery-sent-page* {:email @user-email}]])]]]))
(mf/defc request-dialog*
[{:keys [title content button-text on-button-click cancel-text on-close]}]

View File

@ -11,7 +11,7 @@
[app.main.data.modal :as modal]
[app.main.store :as st]
[app.main.ui.auth.login :refer [login-dialog*]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page*]]
[app.main.ui.auth.register :refer [register-methods* register-success-page* terms-register* register-validate-form*]]
[app.main.ui.icons :as deprecated-icon]
[app.util.dom :as dom]
@ -113,8 +113,8 @@
(tr "labels.go-back")]]]]
:recovery-request
[:& recovery-request-page {:go-back-callback go-back-to-login
:on-success-callback success-email-sent}]
[:> recovery-request-page* {:go-back-callback go-back-to-login
:on-success-callback success-email-sent}]
:email-sent
[:div {:class (stl/css :form-container)}
[:> register-success-page* {:params {:email @user-email}}]])