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

Collectible header #19783

Merged
merged 1 commit into from May 14, 2024
Merged

Collectible header #19783

merged 1 commit into from May 14, 2024

Conversation

ajayesivan
Copy link
Contributor

@ajayesivan ajayesivan commented Apr 24, 2024

fixes #18595

Summary

Improve collectible header animation.

Platforms

  • Android
  • iOS

Areas that maybe impacted

  • Collectible detail screen

Steps to test

  • Open Status
  • Navigate to the Wallet tab
  • Open collectibles tab
  • Open any collectible

Known issues

  • In iOS Dark mode the header has a blue tint
  • When the collectible name is very long the text overflows
  • Header animation won't work as expected when the collectible is unsupported

(We will handle the above issues separately)

Screenshots

Android

Light Mode:

Android.-.Light.mov

Dark Mode:

Android.-.Dark.mov

iOS

Light Mode:

iOS.-.Light.mp4

Dark Mode:

iOS.-.Dark.mp4

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Apr 24, 2024

Jenkins Builds

Click to see older builds (59)
Commit #️⃣ Finished (UTC) Duration Platform Result
ac7cdd7 #2 2024-04-24 14:02:41 ~3 min tests 📄log
ac7cdd7 #2 2024-04-24 14:03:50 ~4 min android 📄log
ac7cdd7 #2 2024-04-24 14:04:23 ~4 min android-e2e 📄log
✔️ ac7cdd7 #2 2024-04-24 14:08:05 ~8 min ios 📱ipa 📲
68d1e63 #3 2024-04-24 22:12:40 ~3 min tests 📄log
68d1e63 #3 2024-04-24 22:13:31 ~4 min android 📄log
68d1e63 #3 2024-04-24 22:14:36 ~5 min android-e2e 📄log
✔️ 68d1e63 #3 2024-04-24 22:17:23 ~8 min ios 📱ipa 📲
19bf0a1 #4 2024-04-24 22:21:00 ~3 min tests 📄log
19bf0a1 #4 2024-04-24 22:22:10 ~4 min android-e2e 📄log
19bf0a1 #4 2024-04-24 22:23:11 ~5 min android 📄log
✔️ 19bf0a1 #4 2024-04-24 22:25:41 ~8 min ios 📱ipa 📲
✔️ 811f79c #5 2024-04-24 23:01:56 ~4 min tests 📄log
811f79c #5 2024-04-24 23:03:14 ~5 min android-e2e 📄log
811f79c #5 2024-04-24 23:03:22 ~5 min android 📄log
✔️ 811f79c #5 2024-04-24 23:06:02 ~8 min ios 📱ipa 📲
✔️ 474bb0d #6 2024-04-25 07:27:16 ~4 min tests 📄log
474bb0d #6 2024-04-25 07:29:22 ~6 min android-e2e 📄log
474bb0d #6 2024-04-25 07:29:26 ~6 min android 📄log
✔️ 474bb0d #6 2024-04-25 07:31:14 ~8 min ios 📱ipa 📲
ea189a2 #7 2024-04-25 07:50:52 ~2 min tests 📄log
ea189a2 #7 2024-04-25 07:53:54 ~6 min android 📄log
ea189a2 #7 2024-04-25 07:53:55 ~6 min android-e2e 📄log
11d7143 #8 2024-04-25 07:57:06 ~2 min tests 📄log
11d7143 #8 2024-04-25 08:00:35 ~6 min android-e2e 📄log
11d7143 #8 2024-04-25 08:00:41 ~6 min android 📄log
✔️ 11d7143 #8 2024-04-25 08:02:47 ~8 min ios 📱ipa 📲
✔️ 16b10e5 #10 2024-04-25 08:39:21 ~4 min tests 📄log
16b10e5 #10 2024-04-25 08:40:41 ~5 min android-e2e 📄log
16b10e5 #10 2024-04-25 08:42:23 ~7 min android 📄log
✔️ 16b10e5 #10 2024-04-25 08:43:25 ~8 min ios 📱ipa 📲
16b10e5 #11 2024-04-25 09:03:42 ~9.6 sec android-e2e 📄log
✔️ 65a46c2 #11 2024-04-25 10:31:54 ~4 min tests 📄log
65a46c2 #11 2024-04-25 10:32:56 ~5 min android 📄log
65a46c2 #12 2024-04-25 10:33:03 ~5 min android-e2e 📄log
✔️ 65a46c2 #11 2024-04-25 10:36:03 ~8 min ios 📱ipa 📲
✔️ 4f842fc #12 2024-04-25 15:28:18 ~4 min tests 📄log
4f842fc #12 2024-04-25 15:30:14 ~6 min android 📄log
4f842fc #13 2024-04-25 15:30:19 ~6 min android-e2e 📄log
✔️ 4f842fc #12 2024-04-25 15:33:59 ~10 min ios 📱ipa 📲
✔️ 67509b4 #13 2024-04-25 15:45:23 ~4 min tests 📄log
✔️ 67509b4 #14 2024-04-25 15:49:17 ~8 min android-e2e 🤖apk 📲
✔️ 67509b4 #13 2024-04-25 15:49:37 ~8 min ios 📱ipa 📲
67509b4 #14 2024-04-25 16:12:13 ~7.4 sec android 📄log
67509b4 #15 2024-04-25 16:35:01 ~7.7 sec android 📄log
67509b4 #16 2024-04-25 16:36:20 ~7.6 sec android 📄log
✔️ 35b2486 #14 2024-04-25 16:41:13 ~3 min tests 📄log
✔️ 35b2486 #17 2024-04-25 16:43:08 ~5 min android 🤖apk 📲
✔️ 35b2486 #15 2024-04-25 16:43:14 ~5 min android-e2e 🤖apk 📲
✔️ 35b2486 #14 2024-04-25 16:45:54 ~8 min ios 📱ipa 📲
✔️ fda7a0b #15 2024-04-25 17:03:42 ~3 min tests 📄log
✔️ fda7a0b #16 2024-04-25 17:06:48 ~6 min android-e2e 🤖apk 📲
✔️ fda7a0b #18 2024-04-25 17:06:58 ~7 min android 🤖apk 📲
✔️ fda7a0b #15 2024-04-25 17:07:58 ~8 min ios 📱ipa 📲
✔️ 83e5b19 #16 2024-04-26 08:24:15 ~4 min tests 📄log
✔️ 83e5b19 #16 2024-04-26 08:28:04 ~8 min ios 📱ipa 📲
✔️ 83e5b19 #17 2024-04-26 08:28:19 ~8 min android-e2e 🤖apk 📲
✔️ 83e5b19 #19 2024-04-26 08:28:25 ~8 min android 🤖apk 📲
4c2e9e4 #17 2024-05-14 15:36:49 ~2 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ fdc08d1 #18 2024-05-14 15:41:31 ~4 min tests 📄log
✔️ fdc08d1 #21 2024-05-14 15:44:16 ~7 min android 🤖apk 📲
✔️ fdc08d1 #19 2024-05-14 15:44:29 ~7 min android-e2e 🤖apk 📲
✔️ fdc08d1 #18 2024-05-14 15:45:58 ~8 min ios 📱ipa 📲
✔️ 3a27fda #20 2024-05-14 16:02:17 ~4 min tests 📄log
✔️ 3a27fda #21 2024-05-14 16:05:09 ~7 min android-e2e 🤖apk 📲
✔️ 3a27fda #23 2024-05-14 16:05:15 ~7 min android 🤖apk 📲
✔️ 3a27fda #20 2024-05-14 16:07:00 ~9 min ios 📱ipa 📲

@ajayesivan ajayesivan force-pushed the 18595-collectible-header branch 2 times, most recently from e10af72 to 16b10e5 Compare April 25, 2024 08:34
@ajayesivan ajayesivan marked this pull request as ready for review April 25, 2024 08:37
@ajayesivan ajayesivan force-pushed the 18595-collectible-header branch 2 times, most recently from 65a46c2 to 4f842fc Compare April 25, 2024 15:23
Copy link
Contributor

@ibrkhalil ibrkhalil left a comment

Choose a reason for hiding this comment

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

Nice work, Left some nits/concerns.

Comment on lines 183 to 187
;; We need to delay the measurement because the navigation has an
;; animation
(js/setTimeout #(when @title-ref
(.measureInWindow @title-ref set-title-bottom))
300))}]]
Copy link
Contributor

@ibrkhalil ibrkhalil Apr 27, 2024

Choose a reason for hiding this comment

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

Can this delay be done using the withDelay function of reanimated in the .js file?

Copy link
Member

Choose a reason for hiding this comment

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

but this is not an animation. The timeout is here to make sure measureInWindow is called later in time

src/status_im/contexts/wallet/collectible/view.cljs Outdated Show resolved Hide resolved
src/status_im/contexts/wallet/collectible/view.cljs Outdated Show resolved Hide resolved
src/status_im/contexts/wallet/collectible/view.cljs Outdated Show resolved Hide resolved
src/status_im/contexts/wallet/collectible/view.cljs Outdated Show resolved Hide resolved
src/status_im/contexts/wallet/collectible/view.cljs Outdated Show resolved Hide resolved
Copy link
Contributor

@FFFra FFFra left a comment

Choose a reason for hiding this comment

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

Amazing job, guys! Was a pleasure to contribute to this. Just added a small suggestion to JS code 🚀

src/js/worklets/header_animations.js Outdated Show resolved Hide resolved
src/js/worklets/header_animations.js Outdated Show resolved Hide resolved
src/js/worklets/header_animations.js Outdated Show resolved Hide resolved
@ulisesmac
Copy link
Contributor

@FFFra I tried your code style suggestions but they are being changed by lint-fix

@ulisesmac
Copy link
Contributor

@clauxx @FFFra @ibrkhalil I already solved the problems, could you please check it again?

cc: @ajayesivan

Copy link
Contributor

@ibrkhalil ibrkhalil left a comment

Choose a reason for hiding this comment

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

@ulisesmac ulisesmac merged commit 5a6a0f7 into develop May 14, 2024
6 checks passed
Pipeline for QA automation moved this from REVIEW to DONE May 14, 2024
@ulisesmac ulisesmac deleted the 18595-collectible-header branch May 14, 2024 16:18
@OmarBasem
Copy link
Member

@ulisesmac don't we need QA or design review for this PR?

@ulisesmac ulisesmac restored the 18595-collectible-header branch May 14, 2024 18:22
Comment on lines +248 to +249
[reanimated/scroll-view
{:style (style/scroll-view top)
Copy link
Member

Choose a reason for hiding this comment

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

hi, why this is reanimated view instead of simple view?

Comment on lines +20 to +23
return useAnimatedStyle(() => ({
flex: 1,
justifyContent: 'flex-end',
backgroundColor: interpolateColor(sharedValue.value, [0, 60], [from, to], 'RGB'),
Copy link
Member

Choose a reason for hiding this comment

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

This approach has few drawbacks.

  1. I am not sure if situation is changed, but changes in js code were not visible until app restarted
  2. Also for consistency we should stick to a single approach. If we use this approach everywhere we will have three files, view, simple style, and animated style, for all animations and we have several animations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

Collectible scroll view header is buggy
8 participants