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

Add side pane view that shows the list of room members (and their power levels) #119

Open
kevinaboos opened this issue Aug 20, 2024 · 1 comment · May be fixed by #213
Open

Add side pane view that shows the list of room members (and their power levels) #119

kevinaboos opened this issue Aug 20, 2024 · 1 comment · May be fixed by #213
Assignees
Labels
good first issue Good for newcomers help wanted Looking for help from anyone!

Comments

@kevinaboos
Copy link
Member

kevinaboos commented Aug 20, 2024

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:

image

(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.

@kevinaboos kevinaboos added good first issue Good for newcomers help wanted Looking for help from anyone! labels Aug 20, 2024
@github-project-automation github-project-automation bot moved this to Ready in Robrix Aug 20, 2024
@tyreseluo
Copy link
Contributor

Hi! @kevinaboos, please change this issue status to in process. It's time for the search bar to end. 🤣🤣

@joulei joulei moved this from Ready to In progress in Robrix Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Looking for help from anyone!
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

2 participants