Use member count instead of counting members
For the room details screen, use the member count as supplied by
matrix instead of waiting for the entire member list to be
retrieved and then manually adding up all the relevant users.
This removes the loading state of the member count, relying on
a spinner on the member list itself if the user actually wants
to see the members. (The performance of that will be improved
separately on the rust side in the future)
Closes#505
* Replace bottom sheets in timeline with M3 ones.
* Add missing options to menu with the right icons
* Add message summary and reaction emoji row.
* Use the same icon in the message summary and file timeline item
Force the height in InviteSummaryRow as compose defaults to a min
height of 40dp
Change the button text style to ignore font padding so the text
aligns properly
- Larger avatar
- Include the MXID in the inviter
- Show inviter avatar to the left instead of inline
(This may be weird in some translations, but it's what design
wants and is consistent with iOS)
- Pad the name/alias if the notification dot is present
- Add the edit action in the room details
- Add "Add topic" button in room details
- Add the screen behind that action to edit some room properties: avatar, name, topic
- Handle the save button action
- enable the button only if changes are detected
- display a loader "updating room"
- display an error dialog if any request has failed
- Check user has the right power level to change various attributes
- "Add topic" is only shown if there's no topic and they are able to set on
- Edit menu is only shown if they can change topic, name or avatar
- On the edit page, any fields they can't change are uneditable
Co-authored-by: Chris Smith <csmith@lunarian.uk>
Display a notice if Matrix ID isn't resolved
If we can't get the profile of a user after an mxid was
searched for, show a warning under their ID to say the
invite probably won't be delivered.
Closes#424