8000 Redesign user page (#1250) by GennadiyMurzhi · Pull Request #1282 · team113/messenger · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Redesign user page (#1250) #1282

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

Merged
merged 22 commits into from
Jun 24, 2025
Merged

Redesign user page (#1250) #1282

merged 22 commits into from
Jun 24, 2025

Conversation

GennadiyMurzhi
Copy link
Contributor
@GennadiyMurzhi GennadiyMurzhi commented Jun 13, 2025

Resolves Redesign User page #1250

Synopsis

Page should be redesigned.

Solution

This PR updates the design of the User Page. The TextField for Gapopa ID and the presence status widget are now provided by the Profile Page and made reusable. The "More" button in the App Bar has been removed. Action buttons have been added along with B2B tests for their actions: Add Favorite, Mute, Clear Chat, and Delete Chat.

Checklist

  • Created PR:
    • In draft mode
    • Name contains issue reference
    • Has type and k:: labels applied
  • Before review:
    • Documentation is updated (if required)
    • Tests are updated (if required)
    • Changes conform code style
    • CHANGELOG entry is added (if required)
    • FCM (final commit message) is posted or updated
    • Draft mode is removed
  • Review is completed and changes are approved
    • FCM (final commit message) is approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • All temporary labels are removed

* Added PresenceLabel widget as a status indicator based on status widget on profile page
* Move GapopaID to a copyable text field
* Remove the 'More' button
* Add action buttons: Add Favorite, Mute, Clear Chat, Delete Chat
* Implemented tests for actions added by buttons

Additionally:
* added factory constructor to ReactiveTextField for copyable variant based on GapopaID ReactiveTextField on profile page
* refactor the 'Clear Chat' test
@GennadiyMurzhi GennadiyMurzhi added this to the 0.6.0 milestone Jun 13, 2025
@GennadiyMurzhi GennadiyMurzhi added k::UI/UX UI (user interface) and UX (user experience) changes k::l10n Changes in l10n phrases k::refactor Refactor changes of existing code k::testing Changes of project tests labels Jun 13, 2025
@GennadiyMurzhi
Copy link
Contributor Author
GennadiyMurzhi commented Jun 13, 2025

FCM

Redesign User page (#1282, #1250)

- redesign the `user.num` text to a copyable `user.num` value
- remove the `MoreButton` from the `Chat`-dialog `CustomAppBar`
- add `ActionButton`s: `FavoriteButton`, `MuteButton`, `ClearButton`, and `DeleteButton`, 
using corresponding callbacks

Additionally:
- add the `PresenceLabel` widget to display presence status
- add `ReactiveTextField.copyable` to `ReactiveTextField` to display a value for copying
- add error handling to the `UserController.unblock` method
- refactor the "Clear Chat" test from a 'Chat'-dialog test to a 'Chat'-group test
- refactor e2e test keys to reduce their number
- add tests for the newly added `ActionButton`s

@GennadiyMurzhi GennadiyMurzhi removed this from the 0.6.0 milestone Jun 13, 2025
@GennadiyMurzhi GennadiyMurzhi self-assigned this Jun 13, 2025
@GennadiyMurzhi GennadiyMurzhi modified the milestone: 0.6.0 Jun 13, 2025
GennadiyMurzhi and others added 2 commits June 13, 2025 18:28
* added Key? key parameter to ReactiveTextField factory constructor
* delete unnecessary Obx around action buttons
* added missing keys to: gapopaId text field and presence label
@SleepySquash
Copy link
Contributor

@GennadiyMurzhi, also be sure to fix the FCM please - it doesn't follow Development Workflow currently.

- sort imports in profile page
- remove unnecessary padding parameter from ActionButton
- replace padding inside ActionButton implementation
- remove unused class from _Constants in UserView file
- remove user fetching when muting chat in UserController
- remove separate chat fetching in UserController
- fix 'unfavorites' to 'favorites' in unfavoriteChat method documentation
- fix padding in AppBar in ChatView as dialog
- format ChatView file under 80-characters-or-fewer
- restore line break before TODO comment about contacts in ChatView
- remove unnecessary ReactiveTextField.copyable formatter
- make presence field optional in PresenceLabel
- remove article 'A' from PresenceLabel documentation
- replace step name in B2B 'Clear chat' test
- fix 'User is in dialog chat with Bob' test step name
- add line break to 'Dialog muting and unmuting' test file
@GennadiyMurzhi
Copy link
Contributor Author

All review points have been fixed, including FCM. @SleepySquash, please review again.

@SleepySquash
Copy link
Contributor

@GennadiyMurzhi, use the Re-request review button here on GitHub, please, I'll get a notification. Also I can see that dartananalyze step is failing. Can you please fix that before sending the PR for a review?

@GennadiyMurzhi
Copy link
Contributor Author

@GennadiyMurzhi, use the Re-request review button here on GitHub, please, I'll get a notification. Also I can see that dartananalyze step is failing. Can you please fix that before sending the PR for a review?

Sorry, yes of course. I’ll run 'dartanalyze' and then click the 'Re-request review' button.

Copy link
Contributor
@SleepySquash SleepySquash left a comment

Choose a reason for hiding this comment

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

@GennadiyMurzhi, I have a few recommendations.

Please, read thoughtfully your code. Line after line, ask yourself with each change the questions like "Is this change necessary?", "Didn't I break some rules by doing so?", "Should really this line be added/removed?", "Will other people understand what I did there?", etc. You should be really sure with the code you're sending for a PR. If there's something you ain't sure about, look at the examples. For example, you can compare your FCM against any FCMs in the repository - project has 700+ already merged PRs, each one having the proper FCM. The same goes for the code. If code is in main branch, then it was read and approved, look at the code and compare it against yours. And the guidelines - don't forget about those.

Also note that any comment that are left during PR aren't specifically about the place that was mentioned - the comments cover all the mistakes or observations regarding the specified kind of behaviour. For example, if there's a comment with a request to follow the Contribution Guideline, then you should follow it everywhere, not just in the place that was pointed by the comment. Each comment should be kept in your memory so that you don't repeat the same mistakes again.

@SleepySquash SleepySquash added enhancement Improvement of existing features or bugfix wontfix This will not be worked on moved Issue/PR is moved to another project and removed k::l10n Changes in l10n phrases k::testing Changes of project tests labels Jun 19, 2025
@SleepySquash
Copy link
Contributor

Oopsie, wrong PR. Sorry for that.

@SleepySquash SleepySquash removed wontfix This will not be worked on moved Issue/PR is moved to another project labels Jun 19, 2025
…s and update e2e tests

- use SizedBox instead of padding in ChatView during Dialog mode
- check imports order
- fix documentation for favoriteChat and unfavoriteChat methods in UserController
- fix error messages in UserController methods: favoriteChat, unfavoriteChat, muteChat, unmuteChat, hideChat, clearChat
- change icon size and add icon svg for action buttons in UserView
- replace {string} with {TestUser} in steps where users should be used
- remove unnecessary platform check in MuteButton
- update documentation for unmuteChat method according to DartEffective
- check all files for correct imports order
- fix error handling in UserController unblock method
- unify e2e test keys in keys.dart by replacing multiple keys with: ClearButton, DeleteButton, FavoriteButton, MuteButton
GennadiyMurzhi and others added 6 commits June 20, 2025 11:26
… of throwing those (#1284)

Additionally:
- remove `forwarding` mode from `MessageFieldController` in `Chat`
- remove `showDragAndDropVideosHint` and `showDragAndDropButtonsHint` from `ApplicationSettings`
@SleepySquash SleepySquash marked this pull request as ready for review June 23, 2025 10:04
@SleepySquash SleepySquash added this to the 0.6.0 milestone Jun 24, 2025
@SleepySquash SleepySquash merged commit eef153a into main Jun 24, 2025
27 checks passed
@SleepySquash SleepySquash deleted the 1250-redesign-user-page-m branch June 24, 2025 08:47
github-actions bot added a commit that referenced this pull request Jun 24, 2025
- impl and use `PresenceLabel` on `MyProfile` and `User` page
- impl and use `ReactiveTextField.copyable` for copyable fields

Co-authored-by: SleepySquash <nordnikita@icloud.com> eef153a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing features or bugfix k::refactor Refactor changes of existing code k::UI/UX UI (user interface) and UX (user experience) changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redesign User page
2 participants
0