mirror of
https://github.com/penpot/penpot.git
synced 2026-04-03 10:00:34 +02:00
♻️ 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 <niwi@niwi.nz>
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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*
|
||||
|
||||
@@ -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}]
|
||||
|
||||
|
||||
@@ -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)}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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*]])]]]))
|
||||
|
||||
Reference in New Issue
Block a user