Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat views redesign #13184

Merged
merged 1 commit into from
Jul 6, 2022
Merged

Chat views redesign #13184

merged 1 commit into from
Jul 6, 2022

Conversation

briansztamfater
Copy link
Member

@briansztamfater briansztamfater commented Mar 21, 2022

fixes #13156

Summary

Chat views redesign

Review notes

Read testing notes

Testing notes

Redesign is still a WIP and there are lots of changes to work on so there still will be inconsistencies between designs and new design implementation. All the changes are under the New UI toggle. The idea is to merge this as soon as possible so we can work on each messages components, other UI changes and fixes in isolation, as this PR became bigger than expected. As long as this PR doesn't break the existing UI I would merge and continue working on redesigns.

Platforms

  • Android
  • iOS

Areas that maybe impacted

Chats, messages

Functional
  • 1-1 chats
  • public chats
  • group chats

Steps to test

  • Open app
  • Switch to New UI
  • Check chats list and messages

status: ready

@briansztamfater briansztamfater self-assigned this Mar 21, 2022
@briansztamfater briansztamfater marked this pull request as draft March 21, 2022 04:17
@status-im-auto
Copy link
Member

status-im-auto commented Mar 21, 2022

Jenkins Builds

Click to see older builds (94)
Commit #️⃣ Finished (UTC) Duration Platform Result
✖️ e7ef6d7 #1 2022-03-21 04:26:11 ~8 min android 📦apk 📲
✖️ e7ef6d7 #1 2022-03-21 04:26:12 ~8 min android-e2e 📦apk 📲
✖️ e7ef6d7 #1 2022-03-21 04:30:28 ~12 min ios 📦ipa 📲
✖️ 4738276 #2 2022-05-05 16:11:42 ~10 min ios 📦ipa 📲
✖️ 4738276 #2 2022-05-05 16:13:25 ~11 min android-e2e 📦apk 📲
✖️ 4738276 #2 2022-05-05 16:13:31 ~11 min android 📦apk 📲
✖️ c5e06cd #3 2022-05-06 00:19:03 ~9 min android 📦apk 📲
✖️ c5e06cd #3 2022-05-06 00:19:39 ~9 min android-e2e 📦apk 📲
✖️ c5e06cd #3 2022-05-06 00:20:48 ~10 min ios 📦ipa 📲
✖️ c3b5700 #4 2022-05-12 14:09:14 ~10 min android 📦apk 📲
✖️ c3b5700 #4 2022-05-12 14:09:29 ~11 min android-e2e 📦apk 📲
✖️ 2a469e1 #5 2022-05-16 23:58:52 ~11 min android-e2e 📦apk 📲
✖️ 2a469e1 #5 2022-05-16 23:59:40 ~12 min android 📦apk 📲
✖️ 23cc07f #6 2022-05-17 19:38:09 ~11 min android-e2e 📦apk 📲
✖️ 23cc07f #6 2022-05-17 19:38:10 ~11 min android 📦apk 📲
✖️ 23cc07f #6 2022-05-17 19:39:21 ~12 min ios 📦ipa 📲
✔️ 68897da #7 2022-05-17 21:47:24 ~9 min android 📦apk 📲
✔️ 68897da #7 2022-05-17 21:48:47 ~10 min android-e2e 📦apk 📲
✔️ 68897da #7 2022-05-17 21:50:40 ~12 min ios 📦ipa 📲
2e58f99 #8 2022-05-20 18:32:19 ~14 sec ios 📄log
2e58f99 #8 2022-05-20 18:32:19 ~14 sec android 📄log
2e58f99 #8 2022-05-20 18:32:21 ~16 sec android-e2e 📄log
870781f #9 2022-05-23 03:40:43 ~13 sec ios 📄log
870781f #9 2022-05-23 03:40:45 ~16 sec android 📄log
870781f #9 2022-05-23 03:40:45 ~16 sec android-e2e 📄log
4173fec #10 2022-05-23 17:13:47 ~14 sec ios 📄log
4173fec #10 2022-05-23 17:13:53 ~20 sec android-e2e 📄log
4173fec #10 2022-05-23 17:13:53 ~20 sec android 📄log
a7260eb #11 2022-05-30 19:00:08 ~16 sec android-e2e 📄log
a7260eb #11 2022-05-30 19:00:11 ~15 sec ios 📄log
a7260eb #11 2022-05-30 19:00:11 ~15 sec android 📄log
7113f67 #12 2022-05-31 01:41:53 ~14 sec ios 📄log
7113f67 #12 2022-05-31 01:41:53 ~14 sec android 📄log
7113f67 #12 2022-05-31 01:41:54 ~15 sec android-e2e 📄log
929b563 #13 2022-05-31 03:37:23 ~3 min ios 📄log
929b563 #13 2022-05-31 03:45:25 ~11 min android-e2e 📄log
929b563 #13 2022-05-31 03:45:42 ~11 min android 📄log
c4add76 #14 2022-05-31 03:50:21 ~10 min android-e2e 📄log
c4add76 #14 2022-05-31 03:50:56 ~11 min android 📄log
c4add76 #14 2022-05-31 03:51:59 ~12 min ios 📄log
✔️ 76bbe0c #15 2022-06-01 05:04:59 ~11 min android-e2e 📦apk 📲
✔️ 76bbe0c #15 2022-06-01 05:05:09 ~11 min android 📦apk 📲
✔️ 76bbe0c #15 2022-06-01 05:10:24 ~17 min ios 📦ipa 📲
✔️ 61df6d6 #16 2022-06-03 00:06:42 ~9 min android 📦apk 📲
✔️ 61df6d6 #16 2022-06-03 00:06:45 ~9 min android-e2e 📦apk 📲
✔️ 61df6d6 #16 2022-06-03 00:10:21 ~12 min ios 📦ipa 📲
✔️ bcd098b #17 2022-06-03 03:43:18 ~11 min android 📦apk 📲
✔️ bcd098b #17 2022-06-03 03:43:19 ~11 min android-e2e 📦apk 📲
✔️ bcd098b #17 2022-06-03 03:44:11 ~12 min ios 📦ipa 📲
bcd098b #18 2022-06-06 14:40:43 ~14 sec ios 📄log
✔️ 2a5c9cb #18 2022-06-07 20:34:55 ~11 min android 📦apk 📲
✔️ 2a5c9cb #18 2022-06-07 20:35:07 ~11 min android-e2e 📦apk 📲
✔️ 2a5c9cb #19 2022-06-07 20:38:10 ~14 min ios 📦ipa 📲
✔️ b0bc068 #19 2022-06-18 22:26:57 ~11 min android-e2e 📦apk 📲
✔️ b0bc068 #19 2022-06-18 22:27:00 ~11 min android 📦apk 📲
✔️ b0bc068 #20 2022-06-18 22:28:55 ~13 min ios 📦ipa 📲
✔️ 72adc88 #20 2022-06-19 02:06:14 ~11 min android 📦apk 📲
✔️ 72adc88 #21 2022-06-19 02:08:05 ~13 min ios 📦ipa 📲
985497d #21 2022-06-20 22:57:16 ~2 min android-e2e 📄log
985497d #21 2022-06-20 23:06:35 ~12 min android 📄log
985497d #22 2022-06-20 23:10:05 ~15 min ios 📄log
3efccb9 #22 2022-06-21 00:17:59 ~10 min android-e2e 📄log
3efccb9 #22 2022-06-21 00:18:17 ~11 min android 📄log
✔️ 3efccb9 #23 2022-06-21 00:21:06 ~13 min ios 📦ipa 📲
3efccb9 #23 2022-06-21 00:40:26 ~5 min android 📄log
3efccb9 #24 2022-06-21 01:16:22 ~1 min android 📄log
✖️ b1b80ad #25 2022-06-22 03:34:47 ~11 min android 📦apk 📲
✖️ b1b80ad #24 2022-06-22 03:35:46 ~12 min ios 📦ipa 📲
✔️ 16c5b87 #26 2022-06-22 04:18:42 ~11 min android 📦apk 📲
✔️ 16c5b87 #25 2022-06-22 04:19:52 ~13 min ios 📦ipa 📲
✔️ bb80750 #25 2022-06-23 05:49:14 ~11 min android-e2e 📦apk 📲
✔️ bb80750 #26 2022-06-23 05:50:23 ~12 min ios 📦ipa 📲
✔️ 121c2d0 #27 2022-06-26 00:30:56 ~10 min ios 📦ipa 📲
✔️ 121c2d0 #26 2022-06-26 00:31:54 ~11 min android-e2e 📦apk 📲
✔️ 121c2d0 #28 2022-06-26 00:32:03 ~11 min android 📦apk 📲
✔️ 4c61982 #28 2022-06-26 00:43:06 ~10 min ios 📦ipa 📲
✔️ 4c61982 #27 2022-06-26 00:44:18 ~11 min android-e2e 📦apk 📲
✖️ 9aef03e #29 2022-06-26 04:23:41 ~10 min ios 📦ipa 📲
✖️ 9aef03e #30 2022-06-26 04:25:17 ~11 min android 📦apk 📲
✔️ 3ec8f40 #30 2022-06-27 02:15:42 ~10 min ios 📦ipa 📲
✔️ 3ec8f40 #29 2022-06-27 02:16:39 ~11 min android-e2e 📦apk 📲
✔️ c22e441 #32 2022-06-27 02:20:45 ~11 min android 📦apk 📲
✔️ c22e441 #31 2022-06-27 02:22:15 ~12 min ios 📦ipa 📲
✔️ e18306c #32 2022-06-27 03:33:41 ~10 min ios 📦ipa 📲
✔️ e18306c #31 2022-06-27 03:34:52 ~11 min android-e2e 📦apk 📲
8dd7adf #33 2022-06-27 03:42:31 ~9 min ios 📄log
✔️ 8dd7adf #34 2022-06-27 03:44:26 ~11 min android 📦apk 📲
✔️ cfb6e41 #34 2022-06-27 04:03:45 ~10 min ios 📦ipa 📲
✔️ cfb6e41 #33 2022-06-27 04:05:33 ~11 min android-e2e 📦apk 📲
✔️ b2b03b5 #36 2022-07-01 19:18:41 ~12 min android 📦apk 📲
✔️ b2b03b5 #35 2022-07-01 19:19:49 ~13 min ios 📦ipa 📲
✔️ b12204c #36 2022-07-04 23:16:34 ~10 min ios 📦ipa 📲
✔️ b12204c #35 2022-07-04 23:18:06 ~11 min android-e2e 📦apk 📲
✔️ b12204c #38 2022-07-05 04:08:23 ~9 min android 📦apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ b14337c #37 2022-07-05 13:31:47 ~10 min ios 📦ipa 📲
✔️ b14337c #36 2022-07-05 13:33:22 ~11 min android-e2e 📦apk 📲
✔️ b14337c #40 2022-07-06 16:28:07 ~10 min android 📦apk 📲
✔️ 81d2ce7 #38 2022-07-06 16:51:07 ~10 min ios 📦ipa 📲
✔️ 81d2ce7 #37 2022-07-06 16:52:32 ~12 min android-e2e 📦apk 📲

@jakubgs
Copy link
Member

jakubgs commented May 17, 2022

You need to rebase my dude, your iOS builds are stuck in limbo:

Still waiting to schedule task
There are no nodes with the label 'macos && x86_64 && nix-2.6 && xcode-12.5'

Copy link
Member

@flexsurfer flexsurfer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i guess in the new designs we must use only quo2 components

@@ -30,14 +30,18 @@
:interactive-03 "rgba(255,255,255,0.1)" ; Background for interactive above accent
:interactive-04 "rgba(147,155,161,1)" ; Disabled state
:ui-background "rgba(255,255,255,1)" ; Default view background
:ui-background-02 "rgba(245,249,250,1)" ; Default view background
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have quo2 for new designs, you should use it instead of modifying this one

@@ -4,8 +4,7 @@

(defn default-chat-icon [color]
{:margin 0
:width 40
:height 40
:width 2 ':height 40
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mhm, interesting how's it compiled

:as props}]
(let [navigation (if (= navigation :none)
nil
[(default-navigation modal? navigation)])]
[(default-navigation modal? navigation)])
border-bottom (if (nil? border-bottom?) true border-bottom?)]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could use :or in destructuring

@@ -5,7 +5,8 @@
(defn default-style []
{:color colors/black
:font-weight "400"
:font-size 15})
:font-size 15
:line-height 20})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, typography in quo2

[react/view (style/collapse-button)
[icons/icon :main-icons/dropdown-up
{:color colors/white}]]]))]]]]))))
(when-not @collapsible? [message-status message])]]]]))))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should drop collapsible in new designs

:style {:flex 1 :width (- window-width 120)}}
[toolbar-content/toolbar-content-view-inner chat-info]]))
[react/view {:flex-direction :row :align-items :center :padding-horizontal 20 :height 56 :background-color (:ui-background @colors/theme)}
[back-button]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

topbar content is a middle part of topbar, so buttons should be outside it

@@ -350,24 +369,11 @@
(re-frame/dispatch [:navigate-back])))

(defn topbar []
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we want to have two version better to rename old one with _old , topbar_old overwise it will be a mess with different names for different versions

@@ -178,14 +182,54 @@
[react/view {:style styles/counter-public
:accessibility-label :notifications-unread-badge}]])]))

(views/defview qr-button []
[react/view
[quo/button {:type :icon
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quo2 button should be used

@briansztamfater
Copy link
Member Author

i guess in the new designs we must use only quo2 components

Sure, working on a code refactor right now, will include fixes for your comments

@du82
Copy link
Contributor

du82 commented Jun 19, 2022

The text clips past the edge of the screen on long nonsegmented strings. Also that switcher button is still in the way of the text and buttons.

Screenshot_20220619-123152_Status PR

@briansztamfater briansztamfater changed the title [WIP] Chat views redesign Chat views redesign Jun 27, 2022
@briansztamfater briansztamfater marked this pull request as ready for review June 27, 2022 02:16
@@ -30,3 +31,10 @@
(def font-bold {:font-family "Inter-Bold"}) ; 700

(def monospace {:font-family "InterStatus-Regular"})

(defn message-default-style []
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't look like foundation. probably better to move to chat ui ns

(def ui-background-03-light "rgba(230,237,240,1)")
(def ui-background-dark "rgba(24,28,36,1)")
(def ui-background-02-dark "rgba(4,11,20,1)")
(def ui-background-03-dark "rgba(14, 22, 32, 1)")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these somehow different from other colors we need to discuss with @pedro-et

@@ -105,9 +107,10 @@
[_ _]
(let [pressed (reagent/atom false)]
(fn [{:keys [on-press disabled type size before after above width
on-long-press accessibility-label icon style]
on-long-press accessibility-label icon style rounded]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you pls show an example where it can be used?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the plus-button component to use quo2.button, it is fully rounded so I added this use case

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mhm I'm not sure it makes sense because quo2.button is a special component that can be used only with type and size params, its better to have plus-button as a separate component

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, I removed it, just made it rounded by puting it inside a wrapping view

@@ -393,39 +470,101 @@
:inverted (when platform/ios? true)
:style (when platform/android? {:scaleY -1})})]))

(defn back-button []
[react/view
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why extra view?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's no why :)
removing it

:main-icons/arrow-left]])

(defn search-button []
[react/view
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why extra view?

@@ -393,39 +470,101 @@
:inverted (when platform/ios? true)
:style (when platform/android? {:scaleY -1})})]))

(defn back-button []
[react/view
[quo/button {:type :icon
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i believe we have this button implemented in quo2

@@ -446,7 +585,13 @@
mutual-contact-requests-enabled? @(re-frame/subscribe [:mutual-contact-requests/enabled?])
max-bottom-space (max @bottom-space @panel-space)]
[:<>
[topbar]
[topbar/topbar {:navigation :none
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you left a comment that it's better to do not use topbar component here, because of performance

@@ -178,14 +279,65 @@
[react/view {:style styles/counter-public
:accessibility-label :notifications-unread-badge}]])]))

(views/defview qr-button []
[react/view {:style {:margin-left 12}}
[quo2.button/button {:style {:width 32 :height 32 :background-color (quo2.colors/theme-colors quo2.colors/ui-background-03-light quo2.colors/ui-background-03-dark) :border-radius 10}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you don't have to use style, there is type and size , we should have all cases covered

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, for some super weird reason it was not working for me, I'll check that out and update it


(views/defview scan-button []
[react/view
[quo2.button/button {:style {:width 32 :height 32 :background-color (quo2.colors/theme-colors quo2.colors/ui-background-03-light quo2.colors/ui-background-03-dark) :border-radius 10}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

  1. why defview ?
  2. extra view
  3. use type for button instead of style

[react/touchable-opacity (merge {:style {:height 64 :background-color background-color}} opts)
[:<>
(when (pos? unviewed-messages-count)
[react/view {:position :absolute :top 2 :left 8 :right 8 :bottom 2 :border-radius 16 :background-color "#4360DF0D"}])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move color to quo2 ?

@du82
Copy link
Contributor

du82 commented Jul 1, 2022

When opening the switcher, there's a white (or sometimes black) bar at the top

Screenshot_20220701-172544_Status PR

@Parveshdhull
Copy link
Member

When opening the switcher, there's a white (or sometimes black) bar at the top

Hi @Du64,
Thank you very much for finding this issue, I will look into this.
Please can you also report it separately, so it can be tracked. Thank you

@du82
Copy link
Contributor

du82 commented Jul 2, 2022

When opening the switcher, there's a white (or sometimes black) bar at the top

Hi @Du64, Thank you very much for finding this issue, I will look into this. Please can you also report it separately, so it can be tracked. Thank you

#13612

There ya go :)

Copy link
Member

@flexsurfer flexsurfer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job, let's merge it! :)

(def ui-background-02-light "#F5F9FA")

;; divider
(def divider-light "rgba(237, 242, 244, 1)")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we use hex for all colors?

@du82
Copy link
Contributor

du82 commented Jul 4, 2022

Text is still getting cut off at the bottom and the right side

Screenshot_20220704-063108_Status PR

@briansztamfater briansztamfater merged commit ec3b4c0 into develop Jul 6, 2022
@briansztamfater briansztamfater deleted the feat/chat-redesign branch July 6, 2022 16:44
@pavloburykh
Copy link
Contributor

pavloburykh commented Jul 7, 2022

@briansztamfater @flexsurfer hi guys. It turned out that merging new UI components affected old UI. As a result 27% of e2e failed in nightly https://ethstatus.testrail.net/index.php?/runs/view/9612&group_by=cases:section_id&group_order=asc

Some of the issues:

  1. Search button instead of chat options button in chats. Back button style from new UI.
    photo_2022-07-07 12 59 25

2) Wallet amount is cut
photo_2022-07-07 12 44 23
photo_2022-07-07 12 44 26

3) New messages are automatically read (no unread counter appears). Not sure if this one is connected to this PR changes

telegram-cloud-document-2-5348456468003690438.mp4

There might be some other affected places. If there is no way to somehow rollback all possible affections of old UI, let me know and I'll take a deeper look at what else has been affected.

@briansztamfater briansztamfater restored the feat/chat-redesign branch July 7, 2022 13:12
@briansztamfater briansztamfater deleted the feat/chat-redesign branch August 23, 2024 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Chat view redesigns
7 participants