diff --git a/common/src/app/common/pages/changes.cljc b/common/src/app/common/pages/changes.cljc index 78bb492b8..97be5e91b 100644 --- a/common/src/app/common/pages/changes.cljc +++ b/common/src/app/common/pages/changes.cljc @@ -246,9 +246,8 @@ (let [shape-old (dm/get-in data-old [:pages-index page-id :objects id]) shape-new (dm/get-in data-new [:pages-index page-id :objects id])] - ;; If object has changed verify is correct - (when (and (some? shape-old) - (some? shape-new) + ;; If object has changed or is new verify is correct + (when (and (some? shape-new) (not= shape-old shape-new)) (dm/verify! (cts/shape? shape-new)))))] diff --git a/common/src/app/common/types/grid.cljc b/common/src/app/common/types/grid.cljc index 5643f983e..4901c2934 100644 --- a/common/src/app/common/types/grid.cljc +++ b/common/src/app/common/types/grid.cljc @@ -22,14 +22,14 @@ [:map [:color ::grid-color] [:type [::sm/one-of #{:stretch :left :center :right}]] - [:size {:optional true} ::sm/safe-number] + [:size {:optional true} [:maybe ::sm/safe-number]] [:margin {:optional true} [:maybe ::sm/safe-number]] [:item-length {:optional true} [:maybe ::sm/safe-number]] [:gutter {:optional true} [:maybe ::sm/safe-number]]]) (sm/def! ::square-params [:map - [:size ::sm/safe-number] + [:size {:optional true} [:maybe ::sm/safe-number]] [:color ::grid-color]]) (sm/def! ::grid diff --git a/common/src/app/common/types/shape.cljc b/common/src/app/common/types/shape.cljc index 89c229959..4b5703acd 100644 --- a/common/src/app/common/types/shape.cljc +++ b/common/src/app/common/types/shape.cljc @@ -225,7 +225,7 @@ [:map {:title "TextAttrs"} [:id ::sm/uuid] [:type [:= :text]] - [:content ::ctsx/content]]) + [:content {:optional true} [:maybe ::ctsx/content]]]) (sm/def! ::shape [:multi {:dispatch :type :title "Shape"} diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs index 5041899b5..7b88a06d0 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs @@ -102,7 +102,10 @@ input (mf/use-ref) fonts (mf/use-memo (mf/deps @state) #(filter-fonts @state @fonts/fonts)) - recent-fonts (mf/deref refs/workspace-recent-fonts) + fontsdb (mf/deref fonts/fontsdb) + ;; Filtering deleted fonts + recent-fonts (->> (mf/deref refs/workspace-recent-fonts) + (into [] (filter #(some? (get fontsdb (:id %)))))) select-next (mf/use-callback @@ -259,7 +262,9 @@ fonts (mf/deref fonts/fontsdb) font (get fonts font-id) - recent-fonts (mf/deref refs/workspace-recent-fonts) + ;; Filtering deleted fonts + recent-fonts (->> (mf/deref refs/workspace-recent-fonts) + (into [] (filter #(some? (get fonts (:id %)))))) last-font (mf/use-ref nil) open-selector? (mf/use-state false)