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

[#19351] fix: animate username in profile #19370

Merged
merged 4 commits into from
Apr 4, 2024

Conversation

mohsen-ghafouri
Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri commented Mar 22, 2024

fixes #19351

Summary

animate username according to the designs.

Before and after screenshots comparison

Before

Simulator.Screen.Recording.-.iPhone.13.-.2024-03-22.at.19.22.14.mp4

After

Simulator.Screen.Recording.-.iPhone.13.-.2024-03-25.at.15.48.44.mp4

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Mar 22, 2024

Jenkins Builds

Click to see older builds (23)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ bcfb859 #2 2024-03-22 16:36:53 ~6 min tests 📄log
✔️ bcfb859 #2 2024-03-22 16:37:11 ~6 min android-e2e 🤖apk 📲
✔️ bcfb859 #2 2024-03-22 16:37:27 ~6 min android 🤖apk 📲
✔️ bcfb859 #2 2024-03-22 16:43:34 ~13 min ios 📱ipa 📲
8340425 #3 2024-03-25 13:06:21 ~2 min tests 📄log
✔️ 8340425 #3 2024-03-25 13:10:58 ~6 min android 🤖apk 📲
✔️ 8340425 #3 2024-03-25 13:12:08 ~7 min android-e2e 🤖apk 📲
✔️ 8340425 #3 2024-03-25 13:14:22 ~10 min ios 📱ipa 📲
c6ceb2f #4 2024-03-25 13:19:49 ~2 min tests 📄log
✔️ c6ceb2f #4 2024-03-25 13:24:57 ~7 min android 🤖apk 📲
✔️ c6ceb2f #4 2024-03-25 13:25:08 ~7 min android-e2e 🤖apk 📲
✔️ c6ceb2f #4 2024-03-25 13:35:50 ~18 min ios 📱ipa 📲
bd37f33 #5 2024-03-26 05:46:17 ~1 min tests 📄log
✔️ bd37f33 #5 2024-03-26 05:50:26 ~5 min android-e2e 🤖apk 📲
✔️ bd37f33 #5 2024-03-26 05:50:48 ~6 min android 🤖apk 📲
✔️ bd37f33 #5 2024-03-26 05:53:09 ~8 min ios 📱ipa 📲
510c425 #6 2024-03-26 09:14:54 ~1 min tests 📄log
✔️ 510c425 #6 2024-03-26 09:20:11 ~7 min android 🤖apk 📲
✔️ 510c425 #6 2024-03-26 09:20:19 ~7 min android-e2e 🤖apk 📲
✔️ 510c425 #6 2024-03-26 09:22:12 ~9 min ios 📱ipa 📲
8bbe9f9 #7 2024-04-03 11:25:25 ~2 min tests 📄log
✔️ 8bbe9f9 #7 2024-04-03 11:29:47 ~7 min android-e2e 🤖apk 📲
✔️ 8bbe9f9 #7 2024-04-03 11:30:33 ~7 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ c8f5e09 #8 2024-04-03 11:35:20 ~4 min tests 📄log
✔️ c8f5e09 #8 2024-04-03 11:38:19 ~7 min android-e2e 🤖apk 📲
✔️ c8f5e09 #8 2024-04-03 11:38:31 ~7 min android 🤖apk 📲
✔️ c8f5e09 #8 2024-04-03 11:41:22 ~10 min ios 📱ipa 📲
✔️ 16ba877 #9 2024-04-04 10:15:20 ~4 min tests 📄log
✔️ 16ba877 #9 2024-04-04 10:17:05 ~6 min android-e2e 🤖apk 📲
✔️ 16ba877 #9 2024-04-04 10:18:19 ~7 min android 🤖apk 📲
✔️ 16ba877 #9 2024-04-04 10:20:28 ~9 min ios 📱ipa 📲

@ibrkhalil
Copy link
Contributor

I remember John's description for this in the chat is to start the animation once the big name starts going out of view (Once the big name touches the topbar), And to animate the small name in one go (Without making it rely on scroll progress in parent view)

@mohsen-ghafouri
Copy link
Contributor Author

Thank you @ibrkhalil for pointing it out, I updated the code and video.

@status-im-auto
Copy link
Member

98% of end-end tests have passed

Total executed tests: 48
Failed tests: 0
Expected to fail tests: 1
Passed tests: 47
IDs of expected to fail tests: 703503 

Expected to fail tests (1)

Click to expand

Class TestCommunityOneDeviceMerged:

1. test_community_discovery, id: 703503
Test is not run, e2e blocker  

[[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

Passed tests (47)

Click to expand

Class TestActivityMultipleDevicePR:

1. test_navigation_jump_to, id: 702936
Device sessions

2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
Device sessions

Class TestActivityCenterContactRequestMultipleDevicePR:

1. test_add_contact_field_validation, id: 702777
Device sessions

2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
Device sessions

3. test_activity_center_contact_request_decline, id: 702850
Device sessions

Class TestGroupChatMultipleDeviceMergedNewUI:

1. test_group_chat_pin_messages, id: 702732
Device sessions

2. test_group_chat_mute_chat, id: 703495
Device sessions

3. test_group_chat_send_image_save_and_share, id: 703297
Device sessions

4. test_group_chat_reactions, id: 703202
Device sessions

5. test_group_chat_join_send_text_messages_push, id: 702807
Device sessions

6. test_group_chat_offline_pn, id: 702808
Device sessions

Class TestActivityMultipleDevicePRTwo:

1. test_activity_center_mentions, id: 702957
Device sessions

2. test_activity_center_admin_notification_accept_swipe, id: 702958
Device sessions

Class TestOneToOneChatMultipleSharedDevicesNewUi:

1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
Device sessions

2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
Device sessions

3. test_1_1_chat_push_emoji, id: 702813
Device sessions

4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
Device sessions

5. test_1_1_chat_edit_message, id: 702855
Device sessions

6. test_1_1_chat_send_image_save_and_share, id: 703391
Device sessions

7. test_1_1_chat_pin_messages, id: 702731
Device sessions

8. test_1_1_chat_message_reaction, id: 702730
Device sessions

Class TestCommunityMultipleDeviceMerged:

1. test_community_several_images_send_reply, id: 703194
Device sessions

2. test_community_one_image_send_reply, id: 702859
Device sessions

3. test_community_emoji_send_copy_paste_reply, id: 702840
Device sessions

4. test_community_mark_all_messages_as_read, id: 703086
Device sessions

5. test_community_contact_block_unblock_offline, id: 702894
Device sessions

6. test_community_edit_delete_message_when_offline, id: 704615
Device sessions

7. test_community_message_delete, id: 702839
Device sessions

8. test_community_message_send_check_timestamps_sender_username, id: 702838
Device sessions

9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
Device sessions

10. test_community_message_edit, id: 702843
Device sessions

11. test_community_unread_messages_badge, id: 702841
Device sessions

Class TestCommunityMultipleDeviceMergedTwo:

1. test_community_markdown_support, id: 702809
Device sessions

2. test_community_hashtag_links_to_community_channels, id: 702948
Device sessions

3. test_community_mentions_push_notification, id: 702786
Device sessions

4. test_community_leave, id: 702845
Device sessions

5. test_community_join_when_node_owner_offline, id: 703629
Device sessions

Class TestDeepLinksOneDevice:

1. test_links_open_universal_links_from_chat, id: 704613
Device sessions

2. test_links_deep_links, id: 702775
Device sessions

Class TestCommunityOneDeviceMerged:

1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
Device sessions

2. test_community_copy_and_paste_message_in_chat_input, id: 702742
Device sessions

3. test_community_undo_delete_message, id: 702869
Device sessions

4. test_community_navigate_to_channel_when_relaunch, id: 702846
Device sessions

5. test_community_mute_community_and_channel, id: 703382
Device sessions

Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
Device sessions

2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
Device sessions

3. test_1_1_chat_mute_chat, id: 703496
Device sessions

src/utils/worklets/header.cljs Outdated Show resolved Hide resolved
src/quo/components/navigation/page_nav/view.cljs Outdated Show resolved Hide resolved
src/js/worklets/header.js Outdated Show resolved Hide resolved
Copy link
Member

@seanstrom seanstrom left a comment

Choose a reason for hiding this comment

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

Nice stuff! 🙌

Comment on lines 3 to 14
export function profileHeaderAnimation(scrollY, threshold, topBarHeight) {
return useAnimatedStyle(() => {
const opacity = scrollY.value < threshold ? withTiming(0) : withTiming(1);
const translateY = scrollY.value < threshold ? withTiming(topBarHeight) : withTiming(0);

return {
opacity: opacity,
transform: [{ translateY: translateY }],
};
});
}
Copy link
Member

Choose a reason for hiding this comment

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

Does this need to be defined in JS because it runs in the animation thread?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes i forgot to add worklet, just added

Copy link
Contributor

Choose a reason for hiding this comment

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

I believe this looks cleaner @mohsen-ghafouri ! :)

btw, we don't need that worklet directive anymore for the animated hooks, reanimated automatically converts them even if not present, but only when it detects an animated hook is being used.

Copy link
Contributor

@ulisesmac ulisesmac left a comment

Choose a reason for hiding this comment

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

Thank you @mohsen-ghafouri
All looks good! 💯

@mariia-skrypnyk mariia-skrypnyk self-assigned this Apr 3, 2024
@mariia-skrypnyk
Copy link

Hi @mohsen-ghafouri !

Please, rebase your PR.

@mohsen-ghafouri mohsen-ghafouri force-pushed the fix/profile-animation branch 2 times, most recently from 8bbe9f9 to c8f5e09 Compare April 3, 2024 11:30
@mohsen-ghafouri
Copy link
Contributor Author

Hi @mariia-skrypnyk, done

@mariia-skrypnyk
Copy link

mariia-skrypnyk commented Apr 3, 2024

to start the animation once the big name starts going out of view

@mohsen-ghafouri not sure animation looks like @ibrkhalil described here 👆.

@ibrkhalil can you show us an example?

@ibrkhalil
Copy link
Contributor

to start the animation once the big name starts going out of view

@mohsen-ghafouri not sure animation looks like @ibrkhalil described here 👆.

@ibrkhalil can you show us an example?

The same behavior in chat basically, Once the big name gets halfway hidden we should animate the small name in.
https://github.com/status-im/status-mobile/assets/33176106/d80ca536-8ba9-45d2-b172-97acd67bd358

@mariia-skrypnyk
Copy link

mariia-skrypnyk commented Apr 3, 2024

@mohsen-ghafouri let me know your thought regarding Ibrahem's example. In case you are not agree or not sure maybe we need to raise this question to designers.

@mohsen-ghafouri
Copy link
Contributor Author

mohsen-ghafouri commented Apr 3, 2024

@mariia-skrypnyk this is exactly like what @ibrkhalil mentioned. what's the issue? did you see the same animation i posted in the description video?

@ibrkhalil
Copy link
Contributor

@mariia-skrypnyk this is exactly like what @ibrkhalil mentioned. what's the issue?

There's no issue, The implementation in the chat was updated recently and I wasn't aware of it's behavior so I thought it needed adjusting.

@mariia-skrypnyk
Copy link

@mohsen-ghafouri I love your animation. Just not sure it is exact the same as @ibrkhalil mentioned above.
I've checked from my side and move PR to @Francesca-G design review to make sure it is really what is expected.
Thanks 🙌

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.

Here's the review

Nice job with the animation ✨
Adding follow up required to address other issues in the screen.

@mohsen-ghafouri mohsen-ghafouri force-pushed the fix/profile-animation branch from c8f5e09 to 16ba877 Compare April 4, 2024 10:10
@mohsen-ghafouri mohsen-ghafouri merged commit b9a02f7 into develop Apr 4, 2024
6 checks passed
@mohsen-ghafouri mohsen-ghafouri deleted the fix/profile-animation branch April 4, 2024 10:21
@mariia-skrypnyk
Copy link

@mohsen-ghafouri will you have time to create followups regarding design review? 🙏

@mohsen-ghafouri
Copy link
Contributor Author

@mariia-skrypnyk yes i will do and will remove follow up label from this PR then.

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

Successfully merging this pull request may close these issues.

Add username animation when scrolling Profile
7 participants