|
1 | 1 | (ns status-im.ui.screens.profile.visibility-status.utils
|
2 |
| - (:require [status-im.constants :as constants] |
| 2 | + (:require [clojure.string :as string] |
| 3 | + [quo.design-system.colors :as colors] |
| 4 | + [quo2.foundations.colors :as quo2.colors] |
| 5 | + [status-im.constants :as constants] |
3 | 6 | [status-im.i18n.i18n :as i18n]
|
4 | 7 | [status-im.ui.screens.profile.visibility-status.styles :as styles]
|
5 |
| - [status-im.utils.handlers :refer [<sub]] |
| 8 | + [status-im.utils.config :as config] |
6 | 9 | [status-im.utils.datetime :as datetime]
|
7 |
| - [quo.design-system.colors :as colors] |
8 |
| - [clojure.string :as string] |
9 |
| - [quo2.foundations.colors :as quo2.colors])) |
| 10 | + [status-im.utils.handlers :refer [<sub]])) |
10 | 11 |
|
11 | 12 | ;; Specs:
|
12 | 13 | ;; :visibility-status-automatic
|
|
73 | 74 | constants/visibility-status-inactive
|
74 | 75 | status-type)))
|
75 | 76 |
|
76 |
| -(defn dot-color [{:keys [status-type] :or {status-type constants/visibility-status-inactive}}] |
77 |
| - (:color (get visibility-status-type-data status-type))) |
78 |
| - |
79 |
| -(defn dot-color-old [{:keys [status-type] :or {status-type constants/visibility-status-inactive}}] |
80 |
| - (:color (get visibility-status-type-data-old status-type))) |
| 77 | +(defn icon-dot-color [{:keys [status-type] :or {status-type constants/visibility-status-inactive}}] |
| 78 | + (if @config/new-ui-enabled? |
| 79 | + (:color (get visibility-status-type-data status-type)) |
| 80 | + (:color (get visibility-status-type-data-old status-type)))) |
81 | 81 |
|
82 | 82 | (defn my-icon? [public-key]
|
83 | 83 | (or (string/blank? public-key)
|
84 | 84 | (= public-key (<sub [:multiaccount/public-key]))))
|
85 | 85 |
|
86 |
| -(defn visibility-status-update [public-key my-icon?] |
| 86 | +(defn visibility-status-update |
| 87 | + [public-key my-icon?] |
87 | 88 | (if my-icon?
|
88 | 89 | (<sub [:multiaccount/current-user-visibility-status])
|
89 | 90 | (<sub [:visibility-status-updates/visibility-status-update public-key])))
|
90 | 91 |
|
91 |
| -(defn icon-visibility-status-dot [public-key container-size _] |
92 |
| - (let [my-icon? (my-icon? public-key) |
93 |
| - visibility-status-update (visibility-status-update public-key my-icon?) |
94 |
| - size (/ container-size 2.4) |
95 |
| - margin -2 |
96 |
| - dot-color (dot-color visibility-status-update) |
97 |
| - accessibility-label (if (= dot-color quo2.colors/color-online) |
98 |
| - :online-profile-photo-dot |
99 |
| - :offline-profile-photo-dot)] |
100 |
| - (merge (styles/visibility-status-dot dot-color size) |
101 |
| - {:bottom margin |
102 |
| - :right margin |
103 |
| - :position :absolute |
104 |
| - :accessibility-label accessibility-label}))) |
| 92 | +(defn icon-dot-accessibility-label |
| 93 | + [dot-color] |
| 94 | + (if @config/new-ui-enabled? |
| 95 | + (if (= dot-color quo2.colors/color-online) |
| 96 | + :online-profile-photo-dot |
| 97 | + :offline-profile-photo-dot) |
| 98 | + (if (= dot-color colors/color-online) |
| 99 | + :online-profile-photo-dot |
| 100 | + :offline-profile-photo-dot))) |
| 101 | + |
| 102 | +(defn icon-dot-margin |
| 103 | + [size identicon?] |
| 104 | + (if @config/new-ui-enabled? |
| 105 | + -2 |
| 106 | + (if identicon? |
| 107 | + (/ size 6) |
| 108 | + (/ size 7)))) |
| 109 | + |
| 110 | +(defn icon-dot-size |
| 111 | + [container-size] |
| 112 | + (if @config/new-ui-enabled? |
| 113 | + (/ container-size 2.4) |
| 114 | + (/ container-size 4))) |
105 | 115 |
|
106 |
| -(defn icon-visibility-status-dot-old [public-key container-size identicon?] |
| 116 | +(defn icon-visibility-status-dot |
| 117 | + [public-key container-size identicon?] |
107 | 118 | (let [my-icon? (my-icon? public-key)
|
108 | 119 | visibility-status-update (visibility-status-update public-key my-icon?)
|
109 |
| - size (/ container-size 4) |
110 |
| - margin (if identicon? (/ size 6) (/ size 7)) |
111 |
| - dot-color (dot-color-old visibility-status-update) |
112 |
| - accessibility-label (if (= dot-color colors/color-online) |
113 |
| - :online-profile-photo-dot |
114 |
| - :offline-profile-photo-dot)] |
115 |
| - (merge (styles/visibility-status-dot-old dot-color size) |
| 120 | + size (icon-dot-size container-size) |
| 121 | + margin (icon-dot-margin size identicon?) |
| 122 | + dot-color (icon-dot-color visibility-status-update) |
| 123 | + new-ui? @config/new-ui-enabled?] |
| 124 | + (merge (styles/visibility-status-dot {:color dot-color |
| 125 | + :size size |
| 126 | + :new-ui? new-ui?}) |
116 | 127 | {:bottom margin
|
117 | 128 | :right margin
|
118 | 129 | :position :absolute
|
119 |
| - :accessibility-label accessibility-label}))) |
| 130 | + :accessibility-label (icon-dot-accessibility-label dot-color)}))) |
120 | 131 |
|
121 | 132 | (defn visibility-status-order [public-key]
|
122 | 133 | (let [my-icon? (my-icon? public-key)
|
123 | 134 | visibility-status-update (visibility-status-update public-key my-icon?)
|
124 |
| - dot-color (dot-color visibility-status-update)] |
| 135 | + dot-color (icon-dot-color visibility-status-update)] |
125 | 136 | (if (= dot-color colors/color-online) 0 1)))
|
0 commit comments