project-robius / project-robius/robrix
Add side pane view that shows the list of room members (and their power levels)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 487
- Forks
- 68
- Avg merge
- 1h 22m
- Merged PRs (30d)
- 54
Description
This view should be called the RoomMemberPane, and can be modeled after (i.e., directly copied from) the existing UserProfileSlidingPane. All you need to do is duplicate that and then replace the existing contents of that pane with a very simple PortalList (or FlatList) of items, in which each item is a RoomMember.
By default, just the avatar and user display name should be shown, but for members with non-default power levels, either Admin or Moderator should be shown beside their name. Here's an example of what Element shows:
(Note that we don't need to support the "Invite to this room" button just yet, that can be saved for a future issue/milestone that covers administrative features).
The Room Member pane could be activated by clicking the room name at the top of the RoomScreen (timeline) view, which is currently actually the StackNavigation header.
Upon clicking/tapping on a user in the list of room members, that user's profile should be shown. This is already supported directly by the existing Avatar widget in Robrix, so you just need to add an event handler that performs the same action (showing a user profile pane) upon any part of the PortalList item area (the list entry) that corresponds to a given user.
It's quite simple to obtain the list of users for a room; use the Room::members() function.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing UserProfileSlidingPane and the RoomScreen timeline view, especially the StackNavigation header that displays the room name. Use Room::members() to populate the RoomMemberPane list and follow the existing Avatar profile-opening behavior for item clicks. Done means the room name opens the pane, members show avatars, names, and applicable roles, and selecting a member opens their profile.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100