diff --git a/frontend/src/app/main/ui/dashboard/subscription.cljs b/frontend/src/app/main/ui/dashboard/subscription.cljs index 82ee31239d..269a634fb6 100644 --- a/frontend/src/app/main/ui/dashboard/subscription.cljs +++ b/frontend/src/app/main/ui/dashboard/subscription.cljs @@ -141,27 +141,27 @@ ;; Banner for users with active nitrate license but no organizations created [:div {:class (stl/css :nitrate-banner :highlighted)} [:div {:class (stl/css :nitrate-content)} - [:span {:class (stl/css :nitrate-title)} "Create your first org"]] + [:span {:class (stl/css :nitrate-title)} (tr "subscription.banner.see-enterprise")]] [:div {:class (stl/css :nitrate-content)} - [:span {:class (stl/css :nitrate-info)} "Some further information and explanation."] + [:span {:class (stl/css :nitrate-info)} (tr "subscription.banner.create-org-info")] [:> button* {:variant "primary" :type "button" :class (stl/css :nitrate-bottom-button) - :on-click handle-go-to-cc} "CREATE ORGANIZATION"]]] + :on-click handle-go-to-cc} (tr "nitrate.activation-success.create-org")]]] ;; Banner for users without nitrate license (when (not nitrate?) [:div {:class (stl/css :nitrate-banner :highlighted)} [:div {:class (stl/css :nitrate-content)} - [:span {:class (stl/css :nitrate-title)} "Unlock Nitrate features"]] + [:span {:class (stl/css :nitrate-title)} (tr "subscription.dashboard.banner.unlock-features")]] [:div {:class (stl/css :nitrate-content)} - [:span {:class (stl/css :nitrate-info)} "Some further information and explanation."] + [:span {:class (stl/css :nitrate-info)} (tr "subscription.dashboard.banner.unlock-features-description")] [:> button* {:variant "primary" :type "button" :class (stl/css :nitrate-bottom-button) :on-click handle-click} (if (:subscription profile) - "UPGRADE TO NITRATE" - "Try 14 days for free")]]])))) + (tr "subscription.dashboard.banner.upgrade-nitrate") + (tr "nitrate.form.try-free"))]]])))) (mf/defc nitrate-current-plan* [{:keys [profile]}] diff --git a/frontend/src/app/main/ui/nitrate/nitrate_form.cljs b/frontend/src/app/main/ui/nitrate/nitrate_form.cljs index bb2bfecadd..712316d45d 100644 --- a/frontend/src/app/main/ui/nitrate/nitrate_form.cljs +++ b/frontend/src/app/main/ui/nitrate/nitrate_form.cljs @@ -7,12 +7,10 @@ (ns app.main.ui.nitrate.nitrate-form (:require-macros [app.main.style :as stl]) (:require - [app.common.schema :as sm] [app.main.data.modal :as modal] [app.main.data.nitrate :as dnt] [app.main.refs :as refs] [app.main.store :as st] - [app.main.ui.components.forms :as fm] [app.main.ui.ds.buttons.button :refer [button*]] [app.main.ui.ds.foundations.assets.icon :as i :refer [icon*]] [app.main.ui.ds.foundations.assets.raw-svg :refer [raw-svg*]] @@ -20,10 +18,6 @@ [app.util.i18n :refer [tr]] [rumext.v2 :as mf])) -(def ^:private schema:nitrate-form - [:map {:title "NitrateForm"} - [:subscription [::sm/one-of #{:monthly :yearly}]]]) - (mf/defc nitrate-form-modal* {::mf/register modal/components ::mf/register-as :nitrate-form @@ -32,16 +26,10 @@ (let [online? (:licenses connectivity) profile (mf/deref refs/profile) - initial (mf/with-memo [] - {:subscription "yearly"}) - form (fm/use-form :schema schema:nitrate-form - :initial initial) on-click (mf/use-fn - (mf/deps form) (fn [] - (let [subscription (-> @form :clean-data :subscription name)] - (dnt/go-to-buy-nitrate-license subscription dnt/go-to-subscription-url)))) + (dnt/go-to-buy-nitrate-license "monthly" dnt/go-to-subscription-url))) on-activate-click (mf/use-fn @@ -63,22 +51,20 @@ (tr "nitrate.form.title")] [:p {:class (stl/css :modal-text-large)} - "Prow scuttle parrel provost."] - [:p {:class (stl/css :modal-text-large)} - "Sail ho shrouds spirits boom mizzenmast yardarm. Pinnace holystone mizzenmast quarter crow's nest nipperkin grog yardarm hempen halter furl."] - [:p {:class (stl/css :modal-text-large)} - "Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors."] + (tr "nitrate.form.enterprise-intro")] + [:ul + [:li {:class (stl/css :modal-text-large)} + "- " (tr "nitrate.form.enterprise-feature-1")] + [:li {:class (stl/css :modal-text-large)} + "- " (tr "nitrate.form.enterprise-feature-2")] + [:li {:class (stl/css :modal-text-large)} + "- " (tr "nitrate.form.enterprise-feature-3")]] + (if online? - [:& fm/form {:form form} - [:p {:class (stl/css :modal-text-large)} + [[:p {:class (stl/css :modal-text-large)} + (tr "nitrate.form.enterprise.price")] - [:& fm/radio-buttons - {:options [{:label (tr "nitrate.form.billing-monthly") :value "monthly"} - {:label (tr "nitrate.form.billing-yearly") :value "yearly"}] - :name :subscription - :class (stl/css :radio-btns)}]] - - [:p {:class (stl/css :modal-text-large :modal-buttons-section)} + [:div {:class (stl/css :modal-text-large :modal-buttons-section)} [:div {:class (stl/css :modal-buttons-section)} [:> button* {:variant "primary" :on-click on-click diff --git a/frontend/src/app/main/ui/nitrate/nitrate_form.scss b/frontend/src/app/main/ui/nitrate/nitrate_form.scss index 76942a6f7a..e27ceabd4a 100644 --- a/frontend/src/app/main/ui/nitrate/nitrate_form.scss +++ b/frontend/src/app/main/ui/nitrate/nitrate_form.scss @@ -56,7 +56,7 @@ } .modal-info { - margin-block-start: var(--sp-s); + margin-block: var(--sp-s) var(--sp-l); width: 40%; } @@ -103,7 +103,7 @@ } .contact { - margin-block-start: $sz-96; + margin-block-start: $sz-48; color: var(--color-foreground-primary); } diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 207fa95409..c5fcb05f69 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -5176,6 +5176,15 @@ msgstr "Inviting people while on the Unlimited plan" msgid "subscription.dashboard.upgrade-plan.power-up" msgstr "Power up" +msgid "subscription.dashboard.banner.unlock-features" +msgstr "Unlock Enterprise features" + +msgid "subscription.dashboard.banner.unlock-features-description" +msgstr "Set fine-grained permissions and keep your design operations secure, without compromising the open-source freedom your team already loves." + +msgid "subscription.dashboard.banner.upgrade-nitrate" +msgstr "Get started with Enterprise" + msgid "subscription.error.nitrate.checkout-cancelled" msgstr "Payment was not completed. Try again whenever you're ready." @@ -9363,22 +9372,31 @@ msgid "nitrate.activation-success.create-org" msgstr "Create organization" msgid "nitrate.form.title" -msgstr "Unlock Nitrate Features" +msgstr "Unlock Enterprise features" -msgid "nitrate.form.billing-monthly" -msgstr "Price Tag Monthly" +msgid "nitrate.form.enterprise-intro" +msgstr "Everything your teams need to work securely at scale:" -msgid "nitrate.form.billing-yearly" -msgstr "Price Tag Yearly (Discount)" +msgid "nitrate.form.enterprise-feature-1" +msgstr "Global to fine-grained permissions across teams and projects" -msgid "nitrate.form.upgrade" -msgstr "Upgrade to Nitrate" +msgid "nitrate.form.enterprise-feature-2" +msgstr "Centralized control over who does what and where, from a dedicated Admin Console" + +msgid "nitrate.form.enterprise-feature-3" +msgstr "Full open-source freedom, with the governance your org needs" + +msgid "nitrate.form.enterprise.price" +msgstr "$25 / member per month" + +msgid "nitrate.form.start-enterprise" +msgstr "Get started with Enterprise" msgid "nitrate.form.try-free" msgstr "Try it free for 14 days" msgid "nitrate.form.cancel-anytime" -msgstr "Cancel anytime before your next billing cycle." +msgstr "Payment will be processed at the end of the trial. Cancel anytime." msgid "nitrate.form.have-code" msgstr "Have an activation code?" @@ -9390,10 +9408,10 @@ msgid "nitrate.form.see-plan" msgstr "See my current plan" msgid "nitrate.form.contact-upgrade" -msgstr "Contact us to upgrade to Nitrate:" +msgstr "Contact us to upgrade to Enterprise:" msgid "nitrate.form.contact-trial" -msgstr "Contact us to try Nitrate for 14 days:" +msgstr "Contact us to try Enterprise for 14 days:" msgid "nitrate.activation-code.invalid-error" msgstr "Invalid code." @@ -9447,14 +9465,20 @@ msgid "subscription.current-plan.unlimited-trial" msgstr "Unlimited Trial" msgid "subscription.current-plan.nitrate" -msgstr "Nitrate" +msgstr "Enterprise" msgid "subscription.current-plan.nitrate-trial" -msgstr "Nitrate Trial" +msgstr "Enterprise Trial" msgid "subscription.current-plan.enterprise" msgstr "Enterprise" +msgid "subscription.banner.see-enterprise" +msgstr "See Enterprise in action" + +msgid "subscription.banner.create-org-info" +msgstr "Create an organization and see exactly how Enterprise works. Set rules, manage your teams and discover a new level of control over your design workflow." + msgid "dashboard.no-permission-create-team.message" msgstr "You are not allowed to create teams within %s organization. If you need more information, contact the owner." diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 6705a3d88c..b4c1b872a0 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -5088,6 +5088,15 @@ msgstr "Invita a personas mientras estás en el plan Unlimited" msgid "subscription.dashboard.upgrade-plan.power-up" msgstr "Mejora" +msgid "subscription.dashboard.banner.unlock-features" +msgstr "Desbloquea las funciones Enterprise" + +msgid "subscription.dashboard.banner.unlock-features-description" +msgstr "Establece permisos detallados y garantiza la seguridad de tus operaciones de diseño, sin renunciar a la libertad del código abierto que tanto valora tu equipo." + +msgid "subscription.dashboard.banner.upgrade-nitrate" +msgstr "Empieza a utilizar Enterprise" + msgid "subscription.error.nitrate.checkout-cancelled" msgstr "El pago no se completó. Inténtalo de nuevo cuando quieras." @@ -9055,22 +9064,31 @@ msgid "nitrate.activation-success.create-org" msgstr "Crear organización" msgid "nitrate.form.title" -msgstr "Desbloquea las funciones de Nitrate" +msgstr "Desbloquea las funciones Enterprise" -msgid "nitrate.form.billing-monthly" -msgstr "Precio mensual" +msgid "nitrate.form.enterprise-intro" +msgstr "Todo lo que tus equipos necesitan para trabajar de forma segura a escala:" -msgid "nitrate.form.billing-yearly" -msgstr "Precio anual (descuento)" +msgid "nitrate.form.enterprise-feature-1" +msgstr "Permisos globales y granulares en equipos y proyectos" -msgid "nitrate.form.upgrade" -msgstr "Actualizar a Nitrate" +msgid "nitrate.form.enterprise-feature-2" +msgstr "Control centralizado sobre quién hace qué y dónde, desde una consola de administración dedicada" + +msgid "nitrate.form.enterprise-feature-3" +msgstr "Total libertad open-source, con la gobernanza que tu organización necesita" + +msgid "nitrate.form.enterprise.price" +msgstr "$25 / miembro por mes" + +msgid "nitrate.form.start-enterprise" +msgstr "Empieza a utilizar Enterprise" msgid "nitrate.form.try-free" msgstr "Pruébalo gratis durante 14 días" msgid "nitrate.form.cancel-anytime" -msgstr "Cancela en cualquier momento antes de tu próximo ciclo de facturación." +msgstr "El pago se procesará al finalizar el periodo de prueba. Puedes cancelar en cualquier momento." msgid "nitrate.form.have-code" msgstr "¿Tienes un código de activación?" @@ -9082,10 +9100,10 @@ msgid "nitrate.form.see-plan" msgstr "Ver mi plan actual" msgid "nitrate.form.contact-upgrade" -msgstr "Contáctanos para actualizar a Nitrate:" +msgstr "Contáctanos para actualizar a Enterprise:" msgid "nitrate.form.contact-trial" -msgstr "Contáctanos para probar Nitrate durante 14 días:" +msgstr "Contáctanos para probar Enterprise durante 14 días:" msgid "nitrate.activation-code.invalid-error" msgstr "Código inválido." @@ -9142,14 +9160,20 @@ msgid "subscription.current-plan.unlimited-trial" msgstr "Unlimited (Prueba)" msgid "subscription.current-plan.nitrate" -msgstr "Nitrate" +msgstr "Enterprise" msgid "subscription.current-plan.nitrate-trial" -msgstr "Nitrate (Prueba)" +msgstr "Enterprise (Prueba)" msgid "subscription.current-plan.enterprise" msgstr "Enterprise" +msgid "subscription.banner.see-enterprise" +msgstr "Vea Enterprise en acción" + +msgid "subscription.banner.create-org-info" +msgstr "Crea una organización y descubre exactamente cómo funciona Enterprise. Establece normas, gestiona tus equipos y disfruta de un nuevo nivel de control sobre tu flujo de trabajo de diseño." + msgid "dashboard.no-permission-create-team.message" msgstr "No tienes permiso para crear equipos en la organización %s. Si necesitas más información, contacta con el propietario."