diff --git a/src/quo2/components/settings/section_label/view.cljs b/src/quo2/components/settings/section_label/view.cljs new file mode 100644 index 0000000000..9a17bfa731 --- /dev/null +++ b/src/quo2/components/settings/section_label/view.cljs @@ -0,0 +1,43 @@ +(ns quo2.components.settings.section-label.view + (:require + [quo2.theme :as quo.theme] + [quo2.components.markdown.text :as text] + [quo2.foundations.colors :as colors])) + +(defn- get-text-color + [theme blur?] + (if blur? + colors/white-opa-40 + (colors/theme-colors colors/neutral-50 + colors/neutral-40 + theme))) + +(defn label-style + [color] + {:color color + :margin-bottom 2}) + +(defn- view-internal + "Props: + - section - the label of the section + - description (optional) - description of the section + - blur? (optional) - use blurred styling + - theme - light or dark" + [{:keys [section description blur? theme]}] + (let [color (get-text-color theme (or blur? false)) + description? (not (nil? description))] + [:<> + [text/text + {:number-of-lines 1 + :size (if description? :paragraph-1 :paragraph-2) + :weight :medium + :style (label-style color)} + section] + (when description? + [text/text + {:size :paragraph-1 + :weight :regular + :style {:color color}} + description])])) + +(def view (quo.theme/with-theme view-internal)) diff --git a/src/quo2/core.cljs b/src/quo2/core.cljs index fab3c335f6..446f119257 100644 --- a/src/quo2/core.cljs +++ b/src/quo2/core.cljs @@ -106,6 +106,7 @@ quo2.components.settings.reorder-item.view quo2.components.settings.settings-item.view quo2.components.settings.category.view + quo2.components.settings.section-label.view quo2.components.share.qr-code.view quo2.components.share.share-qr-code.view quo2.components.tabs.account-selector @@ -310,12 +311,13 @@ (def checkbox quo2.components.selectors.selectors.view/checkbox) ;;;; Settings -(def privacy-option quo2.components.settings.privacy-option.view/view) (def account quo2.components.settings.accounts.view/account) -(def settings-item quo2.components.settings.settings-item.view/view) -(def reorder-item quo2.components.settings.reorder-item.view/reorder-item) (def category quo2.components.settings.category.view/category) (def data-item quo2.components.settings.data-item.view/view) +(def privacy-option quo2.components.settings.privacy-option.view/view) +(def reorder-item quo2.components.settings.reorder-item.view/reorder-item) +(def section-label quo2.components.settings.section-label.view/view) +(def settings-item quo2.components.settings.settings-item.view/view) ;;;; Share (def qr-code quo2.components.share.qr-code.view/qr-code) diff --git a/src/status_im2/contexts/quo_preview/main.cljs b/src/status_im2/contexts/quo_preview/main.cljs index c6210a42ab..dfa23c6259 100644 --- a/src/status_im2/contexts/quo_preview/main.cljs +++ b/src/status_im2/contexts/quo_preview/main.cljs @@ -102,6 +102,7 @@ [status-im2.contexts.quo-preview.settings.privacy-option :as privacy-option] [status-im2.contexts.quo-preview.settings.reorder-item :as reorder-item] [status-im2.contexts.quo-preview.settings.category :as category] + [status-im2.contexts.quo-preview.settings.section-label :as section-label] [status-im2.contexts.quo-preview.share.qr-code :as qr-code] [status-im2.contexts.quo-preview.share.share-qr-code :as share-qr-code] [status-im2.contexts.quo-preview.switcher.switcher-cards :as switcher-cards] @@ -348,7 +349,9 @@ {:name :category :component category/preview} {:name :data-item - :component data-item/preview-data-item}] + :component data-item/preview-data-item} + {:name :section-label + :component section-label/preview}] :share [{:name :qr-code :component qr-code/preview-qr-code} {:name :share-qr-code diff --git a/src/status_im2/contexts/quo_preview/settings/section_label.cljs b/src/status_im2/contexts/quo_preview/settings/section_label.cljs new file mode 100644 index 0000000000..f16b9fee94 --- /dev/null +++ b/src/status_im2/contexts/quo_preview/settings/section_label.cljs @@ -0,0 +1,35 @@ +(ns status-im2.contexts.quo-preview.settings.section-label + (:require + [reagent.core :as reagent] + [status-im2.contexts.quo-preview.preview :as preview] + [quo2.core :as quo])) + +(def ^:private descriptor + [{:key :section + :type :text} + {:key :description + :type :text} + {:key :blur? + :type :boolean}]) + +(defn preview + [] + (let [state (reagent/atom {:section "Section label" + :description "" + :blur? false}) + description (reagent/cursor state [:description]) + section (reagent/cursor state [:section]) + blur? (reagent/cursor state [:blur?])] + (fn [] + [preview/preview-container + {:state state + :descriptor descriptor + :show-blur-background? true + :blur-dark-only? true + :blur? @blur? + :blur-height 150} + [quo/section-label + {:section @section + :description (when-not (empty? @description) + @description) + :blur? @blur?}]])))