Commit graph

183 commits

Author SHA1 Message Date
Jorge Martin Espinosa
e376c1be82 [Message actions] New UI for message composer and editing (#526)
* Add UI for edit composer mode

* Remove leftover code from the RTE implementation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-07 13:06:19 +02:00
Chris Smith
67fcfedb6e Merge pull request #529 from vector-im/misc/cjs/create-join-design-feedback-ii
More create and join room design tweaks
2023-06-07 09:19:16 +01:00
Benoit Marty
5d7be76feb Merge pull request #527 from vector-im/feature/bma/designSystem
Preparatory work to integrate new FTUE screen
2023-06-07 08:59:13 +02:00
Chris Smith
b3ac6e2b97 Bump some font sizes from small to medium after review 2023-06-06 16:44:19 +01:00
Chris Smith
c9df5e7d34 Remove PreferenceDivider
It's now functionally identical to a plain Divider as the default
is 0.5dp thickness.
2023-06-06 16:44:18 +01:00
Chris Smith
fe6afb7281 Dividers should be 0.5dp not 1dp 2023-06-06 16:44:18 +01:00
Chris Smith
dce38dfe8d Progress dialog: use primary colour not onSurface 2023-06-06 16:44:18 +01:00
Chris Smith
34a67bdb2c Create room: labels shouldn't be bold 2023-06-06 16:44:18 +01:00
Benoit Marty
2d7b4a0bf8 Introduce HeaderFooterPage. 2023-06-05 13:06:06 +02:00
Benoit Marty
83a700877b Introduce IconTitleSubtitleMolecule. 2023-06-05 12:44:51 +02:00
Chris Smith
663f116a48 SearchBar: Remove explicit tint on close icon
This is now set properly by the activeColors/inactiveColors
2023-06-05 11:31:14 +01:00
Benoit Marty
9f5daf070a Introduce ButtonColumnMolecule and ButtonRowMolecule. 2023-06-05 12:21:50 +02:00
Chris Smith
9c21a1dd74 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-02 16:25:07 +01:00
Jorge Martin Espinosa
4d2caf8172 Fix SearchBar colors. Also fix tertiary color in dark mode. (#516)
* Fix SearchBar colors. Also fix tertiary color in dark mode.
2023-06-02 17:20:43 +02:00
Chris Smith
3256e9bd80 Treat empty avatar urls the same as null 2023-06-02 14:17:19 +01:00
Jorge Martin Espinosa
dc4b385ada [Message actions] Update timeline context menu (#498)
* 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
2023-06-02 12:08:54 +00:00
Benoit Marty
9072305735 Merge pull request #502 from vector-im/feature/bma/onboardingIteration
Onboarding iteration
2023-06-02 10:30:29 +02:00
Chris Smith
c1eba96124 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 16:50:34 +01:00
Chris Smith
07225575e5 Outlined button tweaks
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
2023-06-01 16:48:27 +01:00
Florian Renaud
5d0fb45ff6 Update room properties from room details (#439)
-  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>
2023-06-01 15:10:29 +00:00
Chris Smith
9827c30fc0 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 13:26:27 +01:00
Chris Smith
43ea115bd7 Search bar: close button colour 2023-06-01 10:14:41 +01:00
Chris Smith
109faf409c Add TextStyle for getting rid of font padding 2023-06-01 10:14:19 +01:00
Chris Smith
4c8f82ccb6 Progress dialog: match designs, deduplicate code 2023-06-01 10:13:53 +01:00
Chris Smith
9874a01fc5 Outline buttons: font weight 2023-06-01 10:13:30 +01:00
Benoit Marty
6dbccb696b Introduce pages in our design system. 2023-06-01 10:51:03 +02:00
Benoit Marty
9551a5e6f8 Rework the set homeserver part: get the info, instead of hard-coded value, and implement retry in case of error. 2023-05-30 15:14:57 +02:00
Jorge Martín
15ff1a4d30 Timestamp improvements 2023-05-26 14:37:39 +02:00
ganfra
2c0771ecc0 Merge branch 'develop' into feature/fga/image_loading 2023-05-26 11:39:34 +02:00
ganfra
e0106fe907 Media: some more improvements over MediaViewer 2023-05-25 23:02:19 +02:00
Marco Romano
0dee0784ba Room list contextual menu (#427)
- Adds `ModalBottomSheet` to our design components (it wraps the homonimous Material3 one).
- Adds  a bottom sheet to the Room list using the aforementioned design component.
- Adds navigation from the room list to a room detail (context menu "Settings" action).
- Consolidates the "leave room flow" into a new `leaveroom` module used by both the room list and the room details.
  - Adds progress indicator to the leave room flow
- Uses new `leaveroom` module in `roomdetails` module too. 

Parent issue:
- https://github.com/vector-im/element-x-android/issues/261
2023-05-25 06:42:44 +00:00
ganfra
fc601acd28 Merge branch 'develop' into feature/fga/image_loading 2023-05-24 17:39:27 +02:00
ganfra
75f85a97b7 Media: makes sure system ui get back to normal when leaving preview/viewer 2023-05-24 17:30:09 +02:00
Chris Smith
198d6d4c56 Invite users to existing rooms (#441)
Invite users to existing rooms

Scope:

- Allow inviting from the room detail screen and the member list
- Invite option is only shown if the user has the correct power level
- Search flow the same as creating a new room, allowing multi-select
- Existing room members/invitees are disabled with a custom caption
- Sending is asynchronous, an error dialog will appear wherever the
  user is if necessary

Closes #245
2023-05-23 09:23:24 +00:00
Chris Smith
848f1cb988 Refactor search related functionality (#436)
Refactor search related functionality

This is a prelude to adding the feature of inviting users to
a room, getting everything in the right place and reusable.

What this does:

## User search refactor

Moves the (global) user search logic (dealing with MXIDs,
minimum lengths, debounces) into a `UserRepository`.

This now sits in a `usersearch` library, which will be
used by the create room flow and the new invite flow.

## SearchBar logic pull-up

Every place we use SearchBar, we're doing the same things
to style placeholders, show back/cancel buttons, etc.

We also have a results type that is duplicated for
basically every feature that uses the search bar.

I've pushed all this common functionality into the
SearchBar itself. This makes the component a bit less
general purpose, but saves a lot of repetition.

## Remove the userlist feature

Almost all the functionality of the userlist feature
is now exclusively used by the create room feature.
Room details uses its own version because the
requirements are different.

Components useful elsewhere (SelectedUsers and
SelectedUser) have gone to matrixui, everything else
has gone to createroom.

## Other bits and pieces

I've fixed everywhere that uses Scaffold to correctly
consume the WindowInsets if the contentPadding is
applied to the contents (which it universally is).
This was a change in the last version of Material3
(I guess previously Scaffold handled the consumption
for us). This fixes weird gaps above search bars.

Added overloads for the MatrixUserRow and
CheckedMatrixUserRow that take the name/subtitle/avatar
separately, so the invites list can pass arbitrary
text like "User has already been invited".

The `blockuser` package was for some reason not
under `impl` but alongside it, I've bumped it into
the right place.
2023-05-22 09:06:54 +00:00
Florian Renaud
c54e4acd57 Restore missing OptIn annotation 2023-05-16 16:41:43 +02:00
Florian Renaud
7ffe463e23 Rename preview 2023-05-16 16:36:47 +02:00
Benoit Marty
e2f4ec3cf0 Fix more warning and replace deprecated code. Also use TextField from our components. 2023-05-15 13:43:27 +02:00
Benoit Marty
457b83184a Use default material3 version again and cleanup @OptIn annotations.
Material3 is now 1.1.0
2023-05-15 12:28:31 +02:00
Jorge Martin Espinosa
014c0f4186 [Media upload] Add media pickers to the Room screen and the composer (#380)
* Add media pickers to the Room screen and the composer.

* Fix exclude rules for translations
2023-05-04 11:51:03 +02:00
Chris Smith
581c5ab2d2 Move and refactor MatrixUser (#381)
Move and refactor MatrixUser

Instead of living in matrixui and having an AvatarData, this can
reside in the matrix module and just have the URL. An extension
method in matrixui can then provide the AvatarData when required.

This removes some small duplication, and pushes the UI-specific
information (i.e., what size of avatar is going to be rendered)
further down the stack. It also aligns the field names with those
used by the rust SDK (e.g. "displayName" instead of "userName").
2023-05-03 16:30:19 +00:00
Jorge Martin Espinosa
9a45e48d9e Group design components in Showkase for the Compound team (#375)
* Screenshot tests changes:

    - Group components for Showkase.
    - Set special Paparazzi config for scrolling screens using non null `Preview.heightDp`.
    - Add merged theme preview with `ElementThemedPreview` component.
2023-05-02 16:13:35 +00:00
Jorge Martin Espinosa
d4c311545d Design fixes for room detail, dm & room member detail screens (#363)
* Design fixes for room detail, dm & room member detail screens.

* Record new screenshots, improve RoomDetailsStateProvider.

* Move MainActionButton to its own component in the design system.
2023-05-02 14:02:51 +00:00
ganfra
40f3f2873b Merge branch 'develop' into feature/fga/some_room_related_fixes 2023-04-27 17:25:12 +02:00
Jorge Martin Espinosa
0234553bca [Room list] Search & menu improvements (#356)
* Remove settings menu item, start splitting search UI. Also, add `applyIf` and `circularReveal` modifiers.

* Split UI & logic for room list search

* Suppress `composed` warning, improve its debuggability

* Add content description to the user's avatar, fix window insets. Also, remove unused `SearchRoomListTopBar`.
2023-04-25 11:35:36 +00:00
ganfra
1ab96e2f34 Some clean up 2023-04-25 11:17:05 +02:00
ganfra
f601bb5c1b Timeline: copy getInitial method from EA to avoid showing @ as avatar. 2023-04-24 10:57:05 +02:00
ganfra
5104fc8ac1 Fix bottomsheet not using right theme (BottomSheet is not part of material3) 2023-04-20 15:58:20 +02:00
Chris Smith
34cc352053 Invite list view
Adds a CTA on the room list to view invites if there are any.

The invite list presents each invite with accept/decline buttons
and (for room invites) the sender details.

Fixes #102
2023-04-19 10:20:48 +01:00
Jorge Martin Espinosa
d391275420 [Room List] Show offline indicator when the device is offline (#239)
* Implement the network status indicator.

* Add `networkmonitor` feature.
2023-04-17 17:01:16 +02:00