Commit graph

72 commits

Author SHA1 Message Date
Benoit Marty
c1ae0ffa58 Create wrapper for DropdownMenuItem and DropdownMenu 2023-06-29 18:17:37 +02:00
Benoit Marty
0e24fa1758 Reduce height of invite button, and improve click effect. Also change text style to fontBodyMdMedium 2023-06-29 18:17:37 +02:00
Benoit Marty
35f19f625a Reduce height of invite button, and improve click effect. 2023-06-29 18:17:37 +02:00
Benoit Marty
df081cdf4f Extract InvitesEntryPointView to its own file and add preview (no other change) 2023-06-29 18:17:37 +02:00
Benoit Marty
fb9c8f9346 Singleline for search room list TextField 2023-06-29 18:17:37 +02:00
Yoan Pintas
c0106a692c Add analytics tracking for some screens (#698) 2023-06-29 13:39:34 +00:00
ganfra
8e5c2a749a Merge branch 'develop' into feature/fga/room_list_api 2023-06-28 15:14:06 +02:00
Jorge Martin Espinosa
683b0b3594 Link Compound's TypographyTokens to ElementTheme. (#700)
* Link Compound's `TypographyTokens` to `ElementTheme`.

Also add some docs about when we should use each set of tokens.

* Renamed `LocalColors` to `LocalLegacyColors`.

Made both `LocalLegacyColors` and `LocalCompoundColors` internal. This means it will need to always be used through `ElementTheme.`

Also, removed any usages of `LocalColors.current` accross the project, they're now used through `ElementTheme.legacyColors`.
2023-06-28 08:53:20 +00:00
Benoit Marty
8c3402b3f9 Use Semantic color for placeholder. 2023-06-27 21:27:59 +02:00
Benoit Marty
8dcf527933 Fix compilation issue after rebase. 2023-06-27 19:58:42 +02:00
Benoit Marty
80f2f6aa55 Fix compilation issue after rebase. 2023-06-27 19:51:10 +02:00
Benoit Marty
d2d5e2e745 Modifier parameter as first param with default value. 2023-06-27 19:43:03 +02:00
Benoit Marty
69868917ba Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
980d5462f3 Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
5ef52f063b Fab icon alignment. 2023-06-27 19:31:44 +02:00
Benoit Marty
fb09991793 Create UnreadIndicatorAtom with preview. 2023-06-27 19:31:44 +02:00
Benoit Marty
0c0f11eb61 Extract InvitesEntryPointView and change font style to bodyMedium 2023-06-27 19:30:42 +02:00
Benoit Marty
c966acb829 Remove useless (?) Column. 2023-06-27 19:28:28 +02:00
Benoit Marty
637bc9706b Move preview to the Composable it is previewing. 2023-06-27 19:26:45 +02:00
Benoit Marty
7eca946313 Extract RequestVerificationHeader to its own file. 2023-06-27 19:26:45 +02:00
Benoit Marty
8b03203cc1 Design: iterate on Room List item 2023-06-27 19:23:37 +02:00
Benoit Marty
92bd16832d Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02:00
Benoit Marty
4d0f58568f Room list: tweak UI and add overflow menu with report bug and invite friends action.
Extract invite friends action to a use case to avoid copy paste.
2023-06-27 19:23:37 +02:00
Jorge Martin Espinosa
a16335b4b7 [Compound] Integrate compound tokens (#586)
* Added tokens.

* Apply color to MaterialTheme, also add typography.

* Map colors to the right ones in the themes.

* Create and improve previews of some components

* More preview improvements

* Add `tertiary` and `onTertiary` colors, remove some unused ones.

* Fix usage of deleted color token

* Fix bug in Switch previews

* Create a separate `:libraries:theme` module to keep everything related to colors, typography and Compound in general.

* Fix `DatePickerPreview`

* Add missing Compound generated files by fixing their package name

* Move `ElementTheme` to the `:libraries:theme` module, make some variables internal.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-27 16:15:40 +00:00
ganfra
34f5e0597a Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
Benoit Marty
dfa1adb9c1 More cleanup 2023-06-27 09:51:33 +02:00
Benoit Marty
798da50454 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
ganfra
fa48c29486 RoomList: more rework on RoomSummaryDataSource 2023-06-26 18:02:53 +02:00
Marco Romano
c5c9cd33da Refine handleSnackbarMessage API (#676)
As per our offline convos during a PR review.
2023-06-26 16:29:50 +02:00
bmarty
874739ece9 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
ganfra
7ee3c1bf42 Merge branch 'develop' into feature/fga/room_list_api 2023-06-23 18:14:09 +02:00
ganfra
e0e50a97e9 API: simplify NetworkMonitor api 2023-06-22 15:47:15 +02:00
Jorge Martin Espinosa
42827206b3 [Message Actions] Forward messages (#635)
* Add forwarding messages base

* Make forwarding single-selection

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-22 13:27:59 +02:00
ganfra
ef8dc6ea7a RoomList: change a bit the api of RoomSummaryDataSource 2023-06-22 12:34:07 +02:00
github-actions[bot]
fe5524bae4 Sync Strings (#630)
* Sync Strings from Localazy

* Update strings, remove broken German translation

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-19 11:18:01 +00:00
ganfra
76e35582da Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-07 16:31:28 +02:00
Chris Smith
fd34ab5cd9 Invite button: fiddle with touch area
Instead of the whole width of the screen being touchable, make the
clickable component 48dp high and 16dp padding either side of the
content.
2023-06-06 16:44:18 +01:00
ganfra
438fc6bb99 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-06 14:35:25 +02:00
ganfra
89d4b81f80 Media action: show snackbar when file saved on disk 2023-06-02 19:41:18 +02:00
Chris Smith
a20e087a87 Invite button tweaks
- Force to 48dp to ensure a good touch target
- Make the whole row clickable not just the button
- Proper text size for label
2023-06-02 12:33:29 +01:00
Chris Smith
048c477906 Show dividers in room list 2023-06-01 17:03:58 +01:00
bmarty
175b7deccb Sync Strings from Localazy 2023-05-29 00:09:47 +00:00
Benoit Marty
a5fc4ffe84 Rename processMessageItem to simple format 2023-05-25 14:16:23 +02:00
Benoit Marty
9d66af834d Move RoomLastMessageFormatter and related class and resource to the new module eventformatter, in order to prepare rendering of state event in the timeline. 2023-05-25 14:15:35 +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
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
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
Chris Smith
ee909fcbd8 Show badges for new invites (#355)
Show badges for new invites

Closes #238
2023-05-04 15:30:55 +00: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