From 0300070c5ac02772eec7a73afcae1df95d60810a Mon Sep 17 00:00:00 2001 From: Ibrahem Khalil <33176106+ibrkhalil@users.noreply.github.com> Date: Mon, 5 Sep 2022 21:34:41 +0200 Subject: [PATCH] RE: User avatar component (#13839) * User avatar component Rebase * clean * Add icons * fix keycard account shown as regular account on theme change while login (#13918) * rebase * clean * clean Co-authored-by: Parvesh Monu --- .../images/icons/identicon_ring20@2x.png | Bin 0 -> 1201 bytes .../images/icons/identicon_ring20@3x.png | Bin 0 -> 1669 bytes .../images/icons/identicon_ring24@2x.png | Bin 0 -> 1430 bytes .../images/icons/identicon_ring24@3x.png | Bin 0 -> 1955 bytes .../images/icons/identicon_ring32@2x.png | Bin 0 -> 1804 bytes .../images/icons/identicon_ring32@3x.png | Bin 0 -> 2528 bytes .../images/icons/identicon_ring48@2x.png | Bin 0 -> 2528 bytes .../images/icons/identicon_ring48@3x.png | Bin 0 -> 3536 bytes .../images/icons/identicon_ring80@2x.png | Bin 0 -> 3778 bytes .../images/icons/identicon_ring80@3x.png | Bin 0 -> 5477 bytes src/quo2/components/user_avatar.cljs | 147 ++++++++++++++++++ src/quo2/screens/main.cljs | 4 + src/quo2/screens/user_avatar.cljs | 61 ++++++++ 13 files changed, 212 insertions(+) create mode 100644 resources/images/icons/identicon_ring20@2x.png create mode 100644 resources/images/icons/identicon_ring20@3x.png create mode 100644 resources/images/icons/identicon_ring24@2x.png create mode 100644 resources/images/icons/identicon_ring24@3x.png create mode 100644 resources/images/icons/identicon_ring32@2x.png create mode 100644 resources/images/icons/identicon_ring32@3x.png create mode 100644 resources/images/icons/identicon_ring48@2x.png create mode 100644 resources/images/icons/identicon_ring48@3x.png create mode 100644 resources/images/icons/identicon_ring80@2x.png create mode 100644 resources/images/icons/identicon_ring80@3x.png create mode 100644 src/quo2/components/user_avatar.cljs create mode 100644 src/quo2/screens/user_avatar.cljs diff --git a/resources/images/icons/identicon_ring20@2x.png b/resources/images/icons/identicon_ring20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..df1fb88758f7d8df472c9c790ed7f3342a3ab9e0 GIT binary patch literal 1201 zcmV;i1Wx;jP)0;ObqKyX4zQ&5koM1T*Jmss}`sTQ?BkhFsBJS`dynGzS81YR8G~?DWk#cJ0`)z3Xj~Pa4m9XJ+^JdvD(C zjtMS_8d8^pArN#(3=`0eLQy2SB)B~xE!+}-Icbmy7m$2o8lV@=LF* zR!2c(@-sTOb#o1DmlCe?p^oh#u1SQ>7?j-HAZqnyaW}Dj;uOOh2C1S-pzT&3fbB=$ zxOW8=F1}>Q37%nBu!C3@&b=R|Nb!3~;8%tW?qS#Ri6C~CB*)`mF&;}U)_BVA0&$8$ z&fUPapt7Du_#3+jwqlR6qHRHCJ?t{FDCA#T;M)g&7(M*dJ@~{Lb_;@d&1XnPqdJ7R zS!}qQK7@tUAQmzM*l{>{vv(^K@{x`|?eZ|+iTi7PxRZJrOSxWb2R`iq_I2LI3;S=_ zb$`$Nu*Q!TL$x}0X(=v`#s0p09QU(*NaefWCH>vMu#iIO?fL_LZTWGdBwb_o1|enL zizu<9y+7N>%BpwMhdB%ekhT19BdE9QHiFOIs1{VskjCPIa6rF*(Jl%VulH7t*rKaaDBjP&+k4U-}xLH`~eC{>OuD*-60^gx^ zWI|1nIH#ImvqR?Fp2tk!r7B_NC@YTmX3;5Hi$6{?3xWmCHPd(2_aaX39mA)cqjkk8 z7T5VlWG2x%GOk=4M+0H8_8}~a4me?EWfG^_qb*v|GVRALPBs6dEDlrD#%?@{8UIoH z*ew$sU)aSJQYPrce}jbwR?C_$3R8i9dhbcZ0>@esr%+a0Tz?L(pu$#3L7=8ZycAX> zC77|1`0XRb1tUB z&3ES5D_T!c5@?Q5lB9HSrRGt|JDz>Dxz0oeg_4Ql*NPW+b371{QcmLuppth(B&ON5 z6`M&_I}1OJ2hMT^H{mhLit}r4*6AVRbYiJ$qpIfK42iZeG)UlXxR|=IRg;OF6{^)x zQ=p2+xs(3mUc1{~0#`OIfd#jQIPPjr(1shB`nAl2B%$8)gYbY(TE@5gUg7#dl3f+1 zk$)rg`in*vG{@UxL{><`x(W|a$@`nsN7Kk#gN?)~9BrcO*E2y&sy!Sr3g;H(G{#G+ z2t-r}H9N?Wz;g8OGrA?9lMq83M?n+>m;DVP*@YCBkfzAXTjo3MCS33c0Wys3 literal 0 HcmV?d00001 diff --git a/resources/images/icons/identicon_ring20@3x.png b/resources/images/icons/identicon_ring20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8222f6d195bf71a5c94ecbd465e361e597ea0038 GIT binary patch literal 1669 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 KMNUMnLSTZ^d5p^d literal 0 HcmV?d00001 diff --git a/resources/images/icons/identicon_ring80@2x.png b/resources/images/icons/identicon_ring80@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9d6b43b62273dad768f5d40b5a59528efceb599a GIT binary patch literal 3778 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 literal 0 HcmV?d00001 diff --git a/resources/images/icons/identicon_ring80@3x.png b/resources/images/icons/identicon_ring80@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..35a8bc72794987df86ce49962e1df7bf8fae2ebc GIT binary patch literal 5477 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 profile-picture + blank? + false?) + outer-dimensions (get-in sizes [size :outer]) + inner-dimensions (get-in sizes [size (if ring? + :inner + :outer)]) + font-size (get-in sizes [size :font-size]) + icon-text (if-not (or (blank? first-initial-letter) + (blank? initials)) + (if small? + first-initial-letter + initials) + "")] + [rn/view {:style {:width outer-dimensions + :height outer-dimensions + :border-radius outer-dimensions}} + (when (and ring? identicon?) + [icons/icon :main-icons/identicon-ring {:width outer-dimensions + :height outer-dimensions + :size outer-dimensions + :no-color true}]) + (if using-profile-picture? + [react/image {:style (container-styling inner-dimensions outer-dimensions) + :source {:uri profile-picture}}] + [container inner-dimensions outer-dimensions + [text/text {:weight :semi-bold + :size font-size + :style {:color colors/white-opa-70}} + (upper-case icon-text)]]) + [dot-indicator size status-indicator? online? ring? (dark?)]])) \ No newline at end of file diff --git a/src/quo2/screens/main.cljs b/src/quo2/screens/main.cljs index e729b33565..bdf016aeee 100644 --- a/src/quo2/screens/main.cljs +++ b/src/quo2/screens/main.cljs @@ -23,6 +23,7 @@ [quo2.screens.token-overview :as token-overview] [quo2.screens.token-tag :as token-tag] [quo2.screens.wallet-user-avatar :as wallet-user-avatar] + [quo2.screens.user-avatar :as user-avatar] [re-frame.core :as re-frame])) (def screens [{:name :quo2-texts @@ -31,6 +32,9 @@ {:name :quo2-wallet-user-avatar :insets {:top false} :component wallet-user-avatar/preview-wallet-user-avatar} + {:name :quo2-user-avatar + :insets {:top false} + :component user-avatar/preview-user-avatar} {:name :quo2-button :insets {:top false} :component button/preview-button} diff --git a/src/quo2/screens/user_avatar.cljs b/src/quo2/screens/user_avatar.cljs new file mode 100644 index 0000000000..a417084cca --- /dev/null +++ b/src/quo2/screens/user_avatar.cljs @@ -0,0 +1,61 @@ +(ns quo2.screens.user-avatar + (:require [quo.react-native :as rn] + [quo.design-system.colors :as colors] + [quo.previews.preview :as preview] + [quo2.components.user-avatar :as quo2] + [reagent.core :as reagent])) + +(def descriptor [{:label "Size:" + :key :size + :type :select + :options [{:key :big + :value "Big"} + {:key :medium + :value "Medium"} + {:key :small + :value "Small"} + {:key :xs + :value "x Small"} + {:key :xxs + :value "xx Small"} + {:key :xxxs + :value "xxx Small"}]} + {:label "Online status" + :key :online? + :type :boolean} + {:label "Status Indicator" + :key :status-indicator? + :type :boolean} + {:label "Identicon Ring" + :key :ring? + :type :boolean} + {:label "Full name separated by space" + :key :full-name + :type :text} + {:label "Profile Picture URL" + :key :profile-picture + :type :text}]) + +(defn cool-preview [] + (let [state (reagent/atom {:full-name "A Y" + :status-indicator? true + :online? true + :size :medium + :ring? true})] + (fn [] + [rn/view {:margin-bottom 50 + :padding 16} + [rn/view {:flex 1} + [preview/customizer state descriptor]] + [rn/view {:padding-vertical 60 + :flex-direction :row + :justify-content :center} + [quo2/user-avatar @state]]]))) + +(defn preview-user-avatar [] + [rn/view {:background-color (:ui-background @colors/theme) + :flex 1} + [rn/flat-list {:flex 1 + :keyboardShouldPersistTaps :always + :header [cool-preview] + :key-fn str}]]) \ No newline at end of file