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

feat: implement interactive graphs #17029

Merged
merged 1 commit into from
Aug 31, 2023
Merged

Conversation

briansztamfater
Copy link
Member

@briansztamfater briansztamfater commented Aug 16, 2023

fixes #16956

Summary

This PR adds an implementation of interactive charts to quo2 previews. It also implements Graph axe, Lowest price and Graph pointer as they are part of the chart component itself and are rendered inside the library, so there are not separate quo2 component implementations for those.

Also moved wallet graph utils namespace into a common namespace shared by wallet graph and interactive graph components. Added a bunch of functions there with their corresponding unit tests.

Also created and added as a dependency our own fork of react-native-gifted-charts as there were some adjustments needed to comply with Figma designs as pixel perfect as possible (gradients to strip line, adjustments on x and y axis label logic, and many other things).

Results

Screenshots

Recordings
interactive.graph.demo.mp4
interactive.graph.demo.dark.mp4

Platforms

  • Android
  • iOS

Steps to test

  • Open Status
  • Open quo2 preview
  • Select Graph > Interactive graph

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Aug 16, 2023

Jenkins Builds

Click to see older builds (111)
Commit #️⃣ Finished (UTC) Duration Platform Result
2293fa8 #1 2023-08-16 15:31:12 ~3 min tests 📄log
✔️ 2293fa8 #1 2023-08-16 15:34:15 ~6 min android-e2e 🤖apk 📲
✔️ 2293fa8 #1 2023-08-16 15:35:07 ~7 min ios 📱ipa 📲
✔️ 2293fa8 #1 2023-08-16 15:36:06 ~8 min android 🤖apk 📲
655ad82 #2 2023-08-16 20:04:37 ~3 min tests 📄log
✔️ 655ad82 #2 2023-08-16 20:07:31 ~6 min ios 📱ipa 📲
✔️ 655ad82 #2 2023-08-16 20:08:05 ~6 min android-e2e 🤖apk 📲
✔️ 655ad82 #2 2023-08-16 20:08:08 ~6 min android 🤖apk 📲
da03998 #3 2023-08-16 20:11:53 ~2 min tests 📄log
✔️ da03998 #3 2023-08-16 20:15:30 ~6 min android-e2e 🤖apk 📲
✔️ da03998 #3 2023-08-16 20:15:33 ~6 min android 🤖apk 📲
✔️ da03998 #3 2023-08-16 20:15:36 ~6 min ios 📱ipa 📲
ca9837f #4 2023-08-17 04:30:24 ~2 min tests 📄log
✔️ ca9837f #4 2023-08-17 04:33:06 ~5 min android 🤖apk 📲
✔️ ca9837f #4 2023-08-17 04:33:20 ~5 min android-e2e 🤖apk 📲
✔️ ca9837f #4 2023-08-17 04:33:22 ~5 min ios 📱ipa 📲
43a90d2 #5 2023-08-17 20:47:52 ~2 min tests 📄log
✔️ 43a90d2 #5 2023-08-17 20:50:54 ~5 min android 🤖apk 📲
✔️ 43a90d2 #5 2023-08-17 20:51:07 ~6 min ios 📱ipa 📲
✔️ 43a90d2 #5 2023-08-17 20:51:21 ~6 min android-e2e 🤖apk 📲
8772c1d #6 2023-08-18 05:32:56 ~4 min tests 📄log
✔️ 8772c1d #6 2023-08-18 05:35:16 ~6 min android-e2e 🤖apk 📲
✔️ 8772c1d #6 2023-08-18 05:35:26 ~6 min android 🤖apk 📲
✔️ 8772c1d #6 2023-08-18 05:36:15 ~7 min ios 📱ipa 📲
74778e4 #7 2023-08-22 16:46:00 ~4 min tests 📄log
✔️ 74778e4 #7 2023-08-22 16:49:00 ~7 min android 🤖apk 📲
✔️ 74778e4 #7 2023-08-22 16:49:05 ~7 min android-e2e 🤖apk 📲
✔️ 74778e4 #7 2023-08-22 16:50:31 ~8 min ios 📱ipa 📲
8fa8c38 #8 2023-08-22 19:47:44 ~3 min tests 📄log
✔️ 8fa8c38 #8 2023-08-22 19:50:28 ~6 min ios 📱ipa 📲
✔️ 8fa8c38 #8 2023-08-22 19:51:00 ~6 min android-e2e 🤖apk 📲
✔️ 8fa8c38 #8 2023-08-22 19:51:03 ~6 min android 🤖apk 📲
680a04e #9 2023-08-25 20:24:21 ~22 sec android-e2e 📄log
680a04e #9 2023-08-25 20:24:22 ~23 sec ios 📄log
680a04e #9 2023-08-25 20:24:26 ~27 sec android 📄log
680a04e #9 2023-08-25 20:24:26 ~28 sec tests 📄log
df4c245 #10 2023-08-26 15:10:44 ~1 min tests 📄log
✔️ df4c245 #10 2023-08-26 15:15:35 ~6 min android 🤖apk 📲
✔️ df4c245 #10 2023-08-26 15:15:43 ~6 min android-e2e 🤖apk 📲
✔️ df4c245 #10 2023-08-26 15:16:34 ~7 min ios 📱ipa 📲
0c98d17 #11 2023-08-26 20:55:25 ~1 min tests 📄log
e65c8d2 #12 2023-08-26 21:01:07 ~2 min tests 📄log
✔️ e65c8d2 #12 2023-08-26 21:05:23 ~6 min android-e2e 🤖apk 📲
✔️ e65c8d2 #12 2023-08-26 21:05:42 ~6 min android 🤖apk 📲
✔️ e65c8d2 #12 2023-08-26 21:06:43 ~7 min ios 📱ipa 📲
0955d6e #13 2023-08-26 21:17:20 ~2 min tests 📄log
✔️ 0955d6e #13 2023-08-26 21:22:08 ~6 min android-e2e 🤖apk 📲
✔️ 0955d6e #13 2023-08-26 21:22:19 ~7 min android 🤖apk 📲
✔️ 0955d6e #13 2023-08-26 21:22:34 ~7 min ios 📱ipa 📲
0955d6e #14 2023-08-26 21:33:11 ~52 sec tests 📄log
0955d6e #15 2023-08-26 22:48:26 ~4 min tests 📄log
a710aeb #16 2023-08-27 03:21:27 ~3 min tests 📄log
df999bf #17 2023-08-27 03:26:43 ~3 min tests 📄log
✔️ df999bf #15 2023-08-27 03:29:10 ~5 min ios 📱ipa 📲
✔️ df999bf #15 2023-08-27 03:29:54 ~6 min android-e2e 🤖apk 📲
✔️ df999bf #15 2023-08-27 03:29:55 ~6 min android 🤖apk 📲
f6db241 #18 2023-08-27 03:44:20 ~3 min tests 📄log
✔️ f6db241 #16 2023-08-27 03:47:00 ~5 min ios 📱ipa 📲
✔️ f6db241 #16 2023-08-27 03:47:25 ~6 min android-e2e 🤖apk 📲
✔️ f6db241 #16 2023-08-27 03:47:33 ~6 min android 🤖apk 📲
fe84c09 #19 2023-08-27 04:00:35 ~2 min tests 📄log
✔️ fe84c09 #17 2023-08-27 04:04:05 ~5 min ios 📱ipa 📲
4c3eec1 #20 2023-08-27 04:07:31 ~3 min tests 📄log
3483707 #21 2023-08-27 04:12:51 ~2 min tests 📄log
✔️ 3483707 #19 2023-08-27 04:16:07 ~5 min ios 📱ipa 📲
✔️ 3483707 #19 2023-08-27 04:16:19 ~6 min android 🤖apk 📲
✔️ 3483707 #19 2023-08-27 04:16:27 ~6 min android-e2e 🤖apk 📲
ad7df89 #23 2023-08-27 04:59:34 ~3 min tests 📄log
✔️ ad7df89 #21 2023-08-27 05:02:43 ~6 min android-e2e 🤖apk 📲
✔️ ad7df89 #21 2023-08-27 05:02:46 ~6 min android 🤖apk 📲
ad7df89 #24 2023-08-27 19:51:48 ~2 min tests 📄log
ae5d9d5 #22 2023-08-28 19:31:43 ~27 sec ios 📄log
ae5d9d5 #22 2023-08-28 19:31:46 ~30 sec android-e2e 📄log
ae5d9d5 #22 2023-08-28 19:31:46 ~30 sec android 📄log
93d8579 #23 2023-08-28 19:32:40 ~24 sec ios 📄log
93d8579 #23 2023-08-28 19:32:43 ~26 sec android-e2e 📄log
93d8579 #23 2023-08-28 19:32:43 ~27 sec android 📄log
✔️ dd8fea2 #24 2023-08-28 19:44:14 ~5 min android-e2e 🤖apk 📲
✔️ dd8fea2 #24 2023-08-28 19:44:30 ~6 min ios 📱ipa 📲
✔️ dd8fea2 #24 2023-08-28 19:46:01 ~7 min android 🤖apk 📲
✔️ dd8fea2 #27 2023-08-28 19:47:52 ~9 min tests 📄log
✔️ f107952 #26 2023-08-29 03:26:35 ~5 min android 🤖apk 📲
✔️ f107952 #26 2023-08-29 03:26:47 ~5 min ios 📱ipa 📲
✔️ f107952 #26 2023-08-29 03:27:43 ~6 min android-e2e 🤖apk 📲
✔️ f107952 #29 2023-08-29 03:30:25 ~9 min tests 📄log
17c4c08 #31 2023-08-29 21:57:58 ~2 min tests 📄log
✔️ 17c4c08 #28 2023-08-29 22:00:51 ~5 min android 🤖apk 📲
✔️ 8b1fab3 #29 2023-08-29 22:07:13 ~5 min android-e2e 🤖apk 📲
✔️ 8b1fab3 #29 2023-08-29 22:07:44 ~6 min ios 📱ipa 📲
✔️ 8b1fab3 #29 2023-08-29 22:09:30 ~7 min android 🤖apk 📲
✔️ 8b1fab3 #32 2023-08-29 22:11:18 ~9 min tests 📄log
✔️ aae6400 #30 2023-08-30 12:24:02 ~5 min android 🤖apk 📲
✔️ aae6400 #30 2023-08-30 12:25:32 ~7 min android-e2e 🤖apk 📲
✔️ aae6400 #30 2023-08-30 12:27:27 ~9 min ios 📱ipa 📲
✔️ aae6400 #33 2023-08-30 12:27:34 ~9 min tests 📄log
✔️ ff76c17 #31 2023-08-30 14:30:15 ~8 min android-e2e 🤖apk 📲
✔️ ff76c17 #31 2023-08-30 14:30:44 ~8 min ios 📱ipa 📲
✔️ ff76c17 #31 2023-08-30 14:31:47 ~9 min android 🤖apk 📲
✔️ ff76c17 #34 2023-08-30 14:34:41 ~12 min tests 📄log
✔️ ccd9eb5 #32 2023-08-30 14:56:25 ~6 min ios 📱ipa 📲
✔️ ccd9eb5 #32 2023-08-30 14:56:34 ~6 min android-e2e 🤖apk 📲
✔️ ccd9eb5 #32 2023-08-30 14:56:39 ~6 min android 🤖apk 📲
✔️ ccd9eb5 #35 2023-08-30 14:58:56 ~8 min tests 📄log
33656c1 #36 2023-08-30 15:49:52 ~2 min tests 📄log
✔️ 33656c1 #33 2023-08-30 15:53:18 ~6 min android-e2e 🤖apk 📲
✔️ 33656c1 #33 2023-08-30 15:53:21 ~6 min ios 📱ipa 📲
✔️ 33656c1 #33 2023-08-30 15:53:26 ~6 min android 🤖apk 📲
73fc9e6 #37 2023-08-30 16:02:22 ~2 min tests 📄log
✔️ 73fc9e6 #34 2023-08-30 16:05:08 ~5 min android-e2e 🤖apk 📲
✔️ 73fc9e6 #34 2023-08-30 16:05:43 ~6 min ios 📱ipa 📲
✔️ 73fc9e6 #34 2023-08-30 16:05:50 ~6 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ c80dfdd #36 2023-08-30 16:43:36 ~6 min android 🤖apk 📲
✔️ c80dfdd #36 2023-08-30 16:43:43 ~6 min android-e2e 🤖apk 📲
✔️ c80dfdd #39 2023-08-30 16:46:41 ~9 min tests 📄log
✔️ c80dfdd #36 2023-08-30 16:51:08 ~13 min ios 📱ipa 📲
✔️ 60e7c76 #37 2023-08-31 15:36:50 ~5 min android 🤖apk 📲
✔️ 60e7c76 #37 2023-08-31 15:37:41 ~6 min ios 📱ipa 📲
✔️ 60e7c76 #37 2023-08-31 15:39:19 ~8 min android-e2e 🤖apk 📲
✔️ 60e7c76 #40 2023-08-31 15:40:50 ~9 min tests 📄log

@status-im status-im deleted a comment from status-github-bot bot Aug 16, 2023
@briansztamfater briansztamfater force-pushed the feat/interactive-charts branch 9 times, most recently from ae5d9d5 to 93d8579 Compare August 28, 2023 19:31
@briansztamfater briansztamfater changed the title [WIP] feat: implement interactive graphs feat: implement interactive graphs Aug 29, 2023
@briansztamfater briansztamfater added the feature feature requests label Aug 29, 2023
@briansztamfater briansztamfater marked this pull request as ready for review August 29, 2023 03:21
src/quo2/components/graph/interactive_graph/view.cljs Outdated Show resolved Hide resolved
:padding-horizontal 5
:padding-top -10
:height 19
:line-height 14.62
Copy link
Contributor

Choose a reason for hiding this comment

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

is it really 14.62 in the designs?

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually no, it is just a tweak to correctly center vertically the text within the reference line text, that for some reason gets moved when rendered in the graph

Copy link
Contributor

@J-Son89 J-Son89 left a comment

Choose a reason for hiding this comment

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

looks really good @briansztamfater! 🤩

@briansztamfater
Copy link
Member Author

@Francesca-G kindly review this PR 🙏

Copy link
Member

@smohamedjavid smohamedjavid left a comment

Choose a reason for hiding this comment

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

Great work! 🙌

@Francesca-G
Copy link

@briansztamfater the negative / positive option doesn't seem to change the color to red / green as expected, let me know if it's a problem on my side :)

@briansztamfater briansztamfater force-pushed the feat/interactive-charts branch 6 times, most recently from f146d93 to c80dfdd Compare August 30, 2023 16:33
@briansztamfater
Copy link
Member Author

briansztamfater commented Aug 30, 2023

@briansztamfater the negative / positive option doesn't seem to change the color to red / green as expected, let me know if it's a problem on my side :)

@Francesca-G sorry about that, it was an issue affecting only PR builds, now should be fixed!

Copy link

@Francesca-G Francesca-G left a comment

Choose a reason for hiding this comment

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

@briansztamfater all good ✨

Signed-off-by: Brian Sztamfater <[email protected]>
@briansztamfater briansztamfater merged commit 1c730bc into develop Aug 31, 2023
2 checks passed
@briansztamfater briansztamfater deleted the feat/interactive-charts branch August 31, 2023 16:45
alwx pushed a commit that referenced this pull request Sep 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature feature requests
Projects
Archived in project
Archived in project
Development

Successfully merging this pull request may close these issues.

Implement interactive charts
7 participants