Commit Graph

75 Commits

Author SHA1 Message Date
ganfra
e3744636b6 Merge branch 'develop' into feature/fga/room_list_api 2023-06-28 15:14:06 +02:00
Jorge Martin Espinosa
c5a5810c05 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
6ccfd41c2d Use Semantic color for placeholder. 2023-06-27 21:27:59 +02:00
Benoit Marty
a7da76ae36 Fix compilation issue after rebase. 2023-06-27 19:58:42 +02:00
Benoit Marty
15fba25651 Fix compilation issue after rebase. 2023-06-27 19:51:10 +02:00
Benoit Marty
02c1553d1e Modifier parameter as first param with default value. 2023-06-27 19:43:03 +02:00
Benoit Marty
1b84d8e3ee Fix test compilation issue. 2023-06-27 19:43:03 +02:00
Benoit Marty
659d719456 Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
6ece791840 Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
931a1fe4de Fab icon alignment. 2023-06-27 19:31:44 +02:00
Benoit Marty
5c27952194 Create UnreadIndicatorAtom with preview. 2023-06-27 19:31:44 +02:00
Benoit Marty
47b8ceb832 Extract InvitesEntryPointView and change font style to bodyMedium 2023-06-27 19:30:42 +02:00
Benoit Marty
35fbdff907 Remove useless (?) Column. 2023-06-27 19:28:28 +02:00
Benoit Marty
dc6a65a8db Move preview to the Composable it is previewing. 2023-06-27 19:26:45 +02:00
Benoit Marty
abe6ffcdae Extract RequestVerificationHeader to its own file. 2023-06-27 19:26:45 +02:00
Benoit Marty
7d69e9a4dd Design: iterate on Room List item 2023-06-27 19:23:37 +02:00
Benoit Marty
d6f2d7a5d3 Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02:00
Benoit Marty
82e566175a 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
02dc447624 [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
Benoit Marty
5f16297939 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
ganfra
3d872ec0e2 RoomList: fix tests and sample 2023-06-27 14:06:58 +02:00
Benoit Marty
4cb9843415 Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
ganfra
2a24d0196e Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
Benoit Marty
287328f7df More cleanup 2023-06-27 09:51:33 +02:00
Benoit Marty
4a8c49fa28 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
ganfra
e5c86675a4 RoomList: more rework on RoomSummaryDataSource 2023-06-26 18:02:53 +02:00
Marco Romano
ffc9d1e82e Refine handleSnackbarMessage API (#676)
As per our offline convos during a PR review.
2023-06-26 16:29:50 +02:00
bmarty
9c5c578c67 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
ganfra
e392f15872 Merge branch 'develop' into feature/fga/room_list_api 2023-06-23 18:14:09 +02:00
ganfra
37174cf53c API: simplify NetworkMonitor api 2023-06-22 15:47:15 +02:00
Jorge Martin Espinosa
de7bbbd5cf [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
8ce65b4429 RoomList: change a bit the api of RoomSummaryDataSource 2023-06-22 12:34:07 +02:00
github-actions[bot]
3f7738c001 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
Benoit Marty
9321a9f718 Introduce simulateLongTask to ensure that the Presenter State Loading is visible.
Also do some cleanup on the tests.
2023-06-15 10:57:05 +02:00
ganfra
8a3a70ffa5 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-07 16:31:28 +02:00
Chris Smith
b54219c152 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
20eb2ade54 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-06 14:35:25 +02:00
ganfra
31ba1a1a06 Media action: show snackbar when file saved on disk 2023-06-02 19:41:18 +02:00
Chris Smith
6a3245bba5 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
41458fbb01 Show dividers in room list 2023-06-01 17:03:58 +01:00
bmarty
3daea29a82 Sync Strings from Localazy 2023-05-29 00:09:47 +00:00
Benoit Marty
69ae145467 Rename processMessageItem to simple format 2023-05-25 14:16:23 +02:00
Benoit Marty
70df081840 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
67a8802766 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
1eac67bf25 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
22e86bdfc8 Fix more warning and replace deprecated code. Also use TextField from our components. 2023-05-15 13:43:27 +02:00
Benoit Marty
3704564198 Use default material3 version again and cleanup @OptIn annotations.
Material3 is now 1.1.0
2023-05-15 12:28:31 +02:00
Florian Renaud
c22d181d8c Remove useless OptIn in tests 2023-05-12 10:05:39 +02:00
Chris Smith
2171f1a8ab Show badges for new invites (#355)
Show badges for new invites

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