Skip to content

Improve User Flyout and Profile Overview#161

Open
GID0317 wants to merge 16 commits intoUnicordDev:redesignfrom
GID0317:UserFlyOut-UserOverview-Revamp
Open

Improve User Flyout and Profile Overview#161
GID0317 wants to merge 16 commits intoUnicordDev:redesignfrom
GID0317:UserFlyOut-UserOverview-Revamp

Conversation

@GID0317
Copy link
Contributor

@GID0317 GID0317 commented Jan 19, 2026

This PR modernizes the Userflyout and Profile Overlay UI with Win11-style design and New Discord-inspired layout. Features:

  • Redesigned ProfileOverlay with NavigationView structure featuring Overview, Activities, Mutual Friends, and Mutual Servers sections with adaptive pane display modes (compact for narrow widths, expanded for wider views)
  • Enhanced UserFlyout UI with improved layout and functionality
  • Added clickable username controls and avatars in message templates to show UserFlyout when tapped
  • Implemented async overlay hiding and ReplaceOverlayWithAnimationAsync method for smooth transitions between overlays
  • Added logic for users to tap person icons to display user flyout
  • Updated role pill styling to match new Discord design
  • Implemented mutual servers list with click-to-navigate functionality (opens guild browsing or channels)
  • Added "Copy User ID" functionality to profile overlay

Tested on: Windows 11 Version 25H2 (OS Build 26220.7535) x64

Preview:

  • User Flyout
Screenshot 2026-01-19 211230 image
  • Profile Overlay
image image image image

Refactors ProfileOverlay to use a NavigationView for sectioned navigation (Overview, Activities, Mutual Friends, Mutual Servers). Adds new layouts for each section, improves responsive design, and implements navigation logic and item click handlers in the code-behind. Also adds a Copy User ID action and updates the UI for a more following windows 11 ui design
Revamps the UserFlyout with windows 11 design, improved role and mutual info display, and a new message composer with emoji picker. Adds support for viewing/copying user ID, mutual friends/servers overlays, and dynamic role expansion.
addHideCustomOverlayAsync to MainPage for awaiting overlay hide completion.
Adds mutual friends placeholder properties to UserViewModel.
Improve AdaptiveFlyout track host element, add Close(), and support placement (enables switching mutual-friend profile flyouts for future if mutual friend get populated).
add ReplaceOverlayWithAnimationAsync to OverlayService that allowing overlays to be replaced with an animated transition. Handles both windowed and in-app overlays.
Add Tapped event handlers for user avatars and username controls in Messages.xaml to display an adaptive user flyout.
Add new CornerRadius resources for profile overlay dialogs, profile cards, and role templates in Fluent, Performance, and SunValley themes. Updates localization files for profile-related strings in en-GB, en-US, fr, ja-JP, and ru-RU to support new UI elements.
Add 'Profile' menu item to direct message and Refactored to use click handlers for profile actions and unified the overlay invocation logic so the guild member list Profile menu item actually opening profile overlay
…doesn't work

Updated OnNavigatedTo to handle navigation parameters as either a UserViewModel or a tuple of UserViewModel and section name.
Enhanced the roles expander to dynamically detect overflow based on actual layout
added chevron rotation animation
improved calculation of hidden roles.
Cleaned up obsolete and redundant comments related to role count estimation and expander state in the UserFlyout control.
- Modified the Load() method to check if Channel is null before trying to create a ChannelViewModel. Now it passes null to GetEmoji when there's no channel context.
- Updated GetAllowedEmotes() to handle a null channel parameter. When the channel is null, it treats it the same as a private channel for users with Nitro (showing all available emoji from all servers), and returns an empty list for non-Nitro users without a guild context
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant