From acfa30b6cfc50bdd6780b0db671f148ef10b2678 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 30 Mar 2026 13:22:45 +0000 Subject: [PATCH] :recycle: Refactor auth register components to modern style Migrate all components in app.main.ui.auth.register and app.main.ui.auth.login/demo-warning to use the modern * suffix convention, removing deprecated ::mf/props :obj metadata and updating all invocations from [:& name] to [:> name*] syntax. Components updated: - terms-and-privacy -> terms-and-privacy* - register-form -> register-form* - register-methods -> register-methods* - register-page -> register-page* - register-success-page -> register-success-page* - terms-register -> terms-register* - register-validate-form -> register-validate-form* - register-validate-page -> register-validate-page* - demo-warning -> demo-warning* Also remove unused old context-notification import in login.cljs. Signed-off-by: Andrey Antukh --- backend/src/app/auth/oidc.clj | 2 +- frontend/src/app/main/ui/auth.cljs | 10 +++--- frontend/src/app/main/ui/auth/login.cljs | 8 ++--- frontend/src/app/main/ui/auth/register.cljs | 39 +++++++++------------ frontend/src/app/main/ui/static.cljs | 8 ++--- frontend/src/app/main/ui/viewer/login.cljs | 12 +++---- 6 files changed, 35 insertions(+), 44 deletions(-) diff --git a/backend/src/app/auth/oidc.clj b/backend/src/app/auth/oidc.clj index 7668a49b99..fa819c5e0c 100644 --- a/backend/src/app/auth/oidc.clj +++ b/backend/src/app/auth/oidc.clj @@ -423,7 +423,7 @@ (defn- qualify-prop-key [provider k] - (keyword (:type provider) (name k))) + (keyword (:type provider) (-> k name str/kebab))) (defn- qualify-props [provider props] diff --git a/frontend/src/app/main/ui/auth.cljs b/frontend/src/app/main/ui/auth.cljs index b8ee594978..724229caea 100644 --- a/frontend/src/app/main/ui/auth.cljs +++ b/frontend/src/app/main/ui/auth.cljs @@ -13,7 +13,7 @@ [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.register :refer [register-page register-success-page register-validate-page terms-register]] + [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] [app.util.i18n :as i18n :refer [tr]] @@ -54,13 +54,13 @@ (case section :auth-register - [:& register-page {:params params}] + [:> register-page* {:params params}] :auth-register-success - [:& register-success-page {:params params}] + [:> register-success-page* {:params params}] :auth-register-validate - [:& register-validate-page {:params params}] + [:> register-validate-page* {:params params}] :auth-login [:& login-page {:params params}] @@ -72,7 +72,7 @@ [:& recovery-page {:params params}]) (when (= section :auth-register) - [:& terms-register])]])) + [:> terms-register*])]])) (mf/defc auth-page* diff --git a/frontend/src/app/main/ui/auth/login.cljs b/frontend/src/app/main/ui/auth/login.cljs index 63becbc0a6..fd601978b8 100644 --- a/frontend/src/app/main/ui/auth/login.cljs +++ b/frontend/src/app/main/ui/auth/login.cljs @@ -20,7 +20,6 @@ [app.main.ui.components.link :as lk] [app.main.ui.ds.notifications.context-notification :refer [context-notification*]] [app.main.ui.icons :as deprecated-icon] - [app.main.ui.notifications.context-notification :refer [context-notification]] [app.util.dom :as dom] [app.util.i18n :refer [tr]] [app.util.storage :as s] @@ -34,10 +33,9 @@ :login-with-gitlab :login-with-oidc])) -(mf/defc demo-warning - {::mf/props :obj} +(mf/defc demo-warning* [] - [:& context-notification + [:> context-notification* {:level :warning :content (tr "auth.demo-warning")}]) @@ -274,7 +272,7 @@ (tr "auth.login-tagline")] (when (contains? cf/flags :demo-warning) - [:& demo-warning]) + [:> demo-warning*]) [:> login-dialog* {:params params}] diff --git a/frontend/src/app/main/ui/auth/register.cljs b/frontend/src/app/main/ui/auth/register.cljs index 3789305003..3bd3fdf564 100644 --- a/frontend/src/app/main/ui/auth/register.cljs +++ b/frontend/src/app/main/ui/auth/register.cljs @@ -40,9 +40,8 @@ :default-checked false :label updates-label}]])) -(mf/defc terms-and-privacy - {::mf/props :obj - ::mf/private true} +(mf/defc terms-and-privacy* + {::mf/private true} [] (let [terms-label (mf/html @@ -70,8 +69,7 @@ [:accept-newsletter-updates {:optional true} :boolean] [:token {:optional true} ::sm/text]]) -(mf/defc register-form - {::mf/props :obj} +(mf/defc register-form* [{:keys [params on-success-callback]}] (let [initial (mf/use-memo (mf/deps params) (constantly params)) form (fm/use-form :schema schema:register-form @@ -176,7 +174,7 @@ :class (stl/css :form-field)}]] (when (contains? cf/flags :terms-and-privacy-checkbox) - [:& terms-and-privacy]) + [:> terms-and-privacy*]) [:> newsletter-options*] @@ -186,8 +184,7 @@ :data-testid "register-form-submit" :class (stl/css :register-btn)}]])) -(mf/defc register-methods - {::mf/props :obj} +(mf/defc register-methods* [{:keys [params hide-separator on-success-callback]}] [:* (when login/show-sso-login-buttons? @@ -195,19 +192,18 @@ (when (or login/show-sso-login-buttons? (false? hide-separator)) [:hr {:class (stl/css :separator)}]) (when (contains? cf/flags :login-with-password) - [:& register-form {:params params :on-success-callback on-success-callback}])]) + [:> register-form* {:params params :on-success-callback on-success-callback}])]) -(mf/defc register-page - {::mf/props :obj} +(mf/defc register-page* [{:keys [params]}] [:div {:class (stl/css :auth-form-wrapper :register-form)} [:h1 {:class (stl/css :auth-title) :data-testid "registration-title"} (tr "auth.register-title")] (when (contains? cf/flags :demo-warning) - [:& login/demo-warning]) + [:> login/demo-warning*]) - [:& register-methods {:params params}] + [:> register-methods* {:params params}] [:div {:class (stl/css :links)} [:div {:class (stl/css :account)} @@ -227,8 +223,7 @@ ;; --- PAGE: register success page -(mf/defc register-success-page - {::mf/props :obj} +(mf/defc register-success-page* [{:keys [params]}] (let [email (or (:email params) (::email storage/user))] [:div {:class (stl/css :auth-form-wrapper :register-success)} @@ -238,7 +233,7 @@ [:div {:class (stl/css :notification-text)} (tr "auth.verification-email-sent")]] [:div {:class (stl/css :notification-text-email)} email]])) -(mf/defc terms-register +(mf/defc terms-register* [] (let [show-all? (and cf/terms-of-service-uri cf/privacy-policy-uri) show-terms? (some? cf/terms-of-service-uri) @@ -268,9 +263,8 @@ [:and :boolean [:= true]]] [:accept-newsletter-updates {:optional true} :boolean]]) -(mf/defc register-validate-form - {::mf/props :obj - ::mf/private true} +(mf/defc register-validate-form* + {::mf/private true} [{:keys [params on-success-callback]}] (let [form (fm/use-form :schema schema:register-validate-form :initial params) @@ -331,7 +325,7 @@ :class (stl/css :form-field)}]] (when (contains? cf/flags :terms-and-privacy-checkbox) - [:& terms-and-privacy]) + [:> terms-and-privacy*]) [:> newsletter-options*] @@ -341,8 +335,7 @@ :class (stl/css :register-btn)}]])) -(mf/defc register-validate-page - {::mf/props :obj} +(mf/defc register-validate-page* [{:keys [params]}] [:div {:class (stl/css :auth-form-wrapper :register-form)} @@ -352,7 +345,7 @@ :data-testid "register-title"} (tr "auth.register-account-title")] [:div {:class (stl/css :auth-subtitle)} (tr "auth.register-account-tagline")]] - [:& register-validate-form {:params params}] + [:> register-validate-form* {:params params}] [:div {:class (stl/css :links)} [:div {:class (stl/css :go-back)} diff --git a/frontend/src/app/main/ui/static.cljs b/frontend/src/app/main/ui/static.cljs index a9f69a2c8e..7580b98abd 100644 --- a/frontend/src/app/main/ui/static.cljs +++ b/frontend/src/app/main/ui/static.cljs @@ -150,7 +150,7 @@ [:* [:div {:class (stl/css :logo-title)} (tr "not-found.login.signup-free")] [:div {:class (stl/css :logo-subtitle)} (tr "not-found.login.start-using")] - [:& register/register-methods {:on-success-callback success-register :hide-separator true}] + [:> register/register-methods* {:on-success-callback success-register :hide-separator true}] #_[:hr {:class (stl/css :separator)}] [:div {:class (stl/css :separator)}] [:div {:class (stl/css :change-section)} @@ -160,11 +160,11 @@ :on-click set-section} (tr "auth.login-here")]] [:div {:class (stl/css :links)} [:hr {:class (stl/css :separator)}] - [:& register/terms-register]]] + [:> register/terms-register*]]] :register-validate [:div {:class (stl/css :form-container)} - [:& register/register-form + [:> register/register-form* {:params {:token @register-token} :on-success-callback register-email-sent}] [:div {:class (stl/css :links)} @@ -175,7 +175,7 @@ :register-email-sent [:div {:class (stl/css :form-container)} - [:& register/register-success-page {:params {:email @user-email :hide-logo true}}]] + [:> register/register-success-page* {:params {:email @user-email :hide-logo true}}]] :recovery-request [:& recovery-request-page {:go-back-callback set-section-login diff --git a/frontend/src/app/main/ui/viewer/login.cljs b/frontend/src/app/main/ui/viewer/login.cljs index 30c002a3be..246dd5e44e 100644 --- a/frontend/src/app/main/ui/viewer/login.cljs +++ b/frontend/src/app/main/ui/viewer/login.cljs @@ -12,7 +12,7 @@ [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.register :refer [register-methods register-success-page terms-register register-validate-form]] + [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] [app.util.i18n :as i18n :refer [tr]] @@ -94,7 +94,7 @@ :register [:div {:class (stl/css :form-container)} - [:& register-methods {:on-success-callback success-register}] + [:> register-methods* {:on-success-callback success-register}] [:div {:class (stl/css :links)} [:div {:class (stl/css :account)} [:span (tr "auth.already-have-account") " "] @@ -104,8 +104,8 @@ :register-validate [:div {:class (stl/css :form-container)} - [:& register-validate-form {:params {:token @register-token} - :on-success-callback success-email-sent}] + [:> register-validate-form* {:params {:token @register-token} + :on-success-callback success-email-sent}] [:div {:class (stl/css :links)} [:div {:class (stl/css :register)} [:a {:on-click set-section @@ -117,8 +117,8 @@ :on-success-callback success-email-sent}] :email-sent [:div {:class (stl/css :form-container)} - [:& register-success-page {:params {:email @user-email}}]]) + [:> register-success-page* {:params {:email @user-email}}]]) (when main-section [:div {:class (stl/css :links)} - [:& terms-register]])]]])) + [:> terms-register*]])]]]))