diff --git a/backend/src/app/rpc/commands/files_thumbnails.clj b/backend/src/app/rpc/commands/files_thumbnails.clj index 9d64ec504d..c74f023b9d 100644 --- a/backend/src/app/rpc/commands/files_thumbnails.clj +++ b/backend/src/app/rpc/commands/files_thumbnails.clj @@ -185,7 +185,7 @@ [:map {:title "PartialFile"} [:id ::sm/uuid] [:revn {:min 0} ::sm/int] - [:page :any]]) + [:page [:map-of :keyword ::sm/any]]]) (sv/defmethod ::get-file-data-for-thumbnail "Retrieves the data for generate the thumbnail of the file. Used diff --git a/common/src/app/common/files/changes.cljc b/common/src/app/common/files/changes.cljc index d9965ce556..8915402b06 100644 --- a/common/src/app/common/files/changes.cljc +++ b/common/src/app/common/files/changes.cljc @@ -418,7 +418,14 @@ [:type [:= :set-token-set]] [:set-name :string] [:group? :boolean] - [:token-set [:maybe [:fn ctob/token-set?]]]]] + + ;; FIXME: we should not pass private types as part of changes + ;; protocol, the changes protocol should reflect a + ;; method/protocol for perform surgical operations on file data, + ;; this has nothing todo with internal types of a file data + ;; structure. + [:token-set {:gen/gen (sg/generator ctob/schema:token-set)} + [:maybe [:fn ctob/token-set?]]]]] [:set-token [:map {:title "SetTokenChange"} diff --git a/common/src/app/common/types/tokens_lib.cljc b/common/src/app/common/types/tokens_lib.cljc index a802679a2c..498801f2d8 100644 --- a/common/src/app/common/types/tokens_lib.cljc +++ b/common/src/app/common/types/tokens_lib.cljc @@ -186,6 +186,10 @@ :modified-at modified-at :tokens tokens})]) + #?@(:clj + [json/JSONWriter + (-write [this writter options] (json/-write (deref this) writter options))]) + #?@(:cljs [cljs.core/IEncodeJS (-clj->js [_] (js-obj "id" (clj->js id) "name" (clj->js name) @@ -292,7 +296,9 @@ (declare make-token-set) (def schema:token-set - (sm/required-keys schema:token-set-attrs)) + [:schema {:gen/gen (->> (sg/generator schema:token-set-attrs) + (sg/fmap #(make-token-set %)))} + (sm/required-keys schema:token-set-attrs)]) (sm/register! ::token-set schema:token-set) ;; need to register for the recursive schema of token-sets diff --git a/frontend/src/app/main/ui/dashboard/subscription.cljs b/frontend/src/app/main/ui/dashboard/subscription.cljs index d320a687e4..2a560f84bc 100644 --- a/frontend/src/app/main/ui/dashboard/subscription.cljs +++ b/frontend/src/app/main/ui/dashboard/subscription.cljs @@ -125,7 +125,11 @@ (mf/defc menu-team-icon* [{:keys [subscription-type]}] - [:span {:class (stl/css :subscription-icon) :data-testid "subscription-icon"} + [:span {:class (stl/css :subscription-icon) + :title (if (= subscription-type "unlimited") + (tr "subscription.dashboard.power-up.unlimited-plan") + (tr "subscription.dashboard.power-up.enterprise-plan")) + :data-testid "subscription-icon"} (case subscription-type "unlimited" i/character-u "enterprise" i/character-e)]) diff --git a/frontend/src/app/main/ui/releases/v2_9.cljs b/frontend/src/app/main/ui/releases/v2_9.cljs index 47f4183117..600df72665 100644 --- a/frontend/src/app/main/ui/releases/v2_9.cljs +++ b/frontend/src/app/main/ui/releases/v2_9.cljs @@ -74,42 +74,12 @@ [:& c/navigation-bullets {:slide slide :navigate navigate - :total 3}] + :total 2}] [:button {:on-click next :class (stl/css :next-btn)} "Continue"]]]]]] 1 - [:div {:class (stl/css-case :modal-overlay true)} - [:div.animated {:class klass} - [:div {:class (stl/css :modal-container)} - [:img {:src "images/features/2.9-overrides.gif" - :class (stl/css :start-image) - :border "0" - :alt "Component text overrides"}] - - [:div {:class (stl/css :modal-content)} - [:div {:class (stl/css :modal-header)} - [:h1 {:class (stl/css :modal-title)} - "Component text overrides"]] - - [:div {:class (stl/css :feature)} - [:p {:class (stl/css :feature-content)} - "You can now edit the text content independently from its properties—such as color, effects, font size, or weight—allowing you to update the wording while preserving the styling."] - - [:p {:class (stl/css :feature-content)} - "This change (inspired by community feedback) greatly improves consistency, predictability, and control when working with texts in components."]] - - [:div {:class (stl/css :navigation)} - [:& c/navigation-bullets - {:slide slide - :navigate navigate - :total 3}] - - [:button {:on-click next - :class (stl/css :next-btn)} "Continue"]]]]]] - - 2 [:div {:class (stl/css-case :modal-overlay true)} [:div.animated {:class klass} [:div {:class (stl/css :modal-container)} @@ -135,7 +105,7 @@ [:& c/navigation-bullets {:slide slide :navigate navigate - :total 3}] + :total 2}] [:button {:on-click finish :class (stl/css :next-btn)} "Let's go"]]]]]]))) diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 745621ca7c..c3328ae363 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -4387,11 +4387,6 @@ msgstr "Subscription" msgid "subscription.settings.add-payment-to-continue" msgstr "Add a payment method to continue after your trial" -#: src/app/main/ui/settings/subscription.cljs:82, src/app/main/ui/settings/subscription.cljs:115, src/app/main/ui/settings/subscription.cljs:127 -#, fuzzy, unused -msgid "subscription.settings.benefits.all-professiona-benefits" -msgstr "" - #: src/app/main/ui/settings/subscription.cljs:247, src/app/main/ui/settings/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:303, src/app/main/ui/settings/subscription.cljs:317 msgid "subscription.settings.benefits.all-professional-benefits" msgstr "All Professional plan benefits and:"