* Take screen density into account when requesting thumbnails
Otherwise, we could be asking for images with N size while we needed images for N@2x or N@3x size i.e.
* Change RoomSummaryDataSource to RoomListService to better reflects the rust api
* Better Sync management
* Sync: improve sync spinner rendering
* Sync: make test compiles
* Sync: add more test for sync spinner
* Sync: more clean-up
* Sync: pr review
---------
Co-authored-by: ganfra <francoisg@element.io>
Both `NotifiableEventResolver` and `DefaultNotificationDrawerManager` were creating new Rust SDK Clients while processing notifications instead of reusing the already existing one.
With this change, composable previews and screenshots should be created with just:
```
@ElementPreviews@Composable
fun MyViewPreview() {
ElementPreview {
MyView()
}
}
```
- Adds `@ElementPreviews` which is a shorthand for:
```
@Preview(name = "D")
@Preview(name = "N", uiMode = Configuration.UI_MODE_NIGHT_YES)
```
Should be used in connection with the now public `fun ElementPreview()` composable.
- Adds ElementPreviews to previewAnnotations in dangerfile
- Screenshots of night mode previews are now rendered with night mode
- Replaces `ElementPreviewLight` and `ElementThemedPreview` with `ElementPreview`
- Deprecates `ElementPreviewDark` which should be removed.
- Remaining usages of `ElementPreviewDark` are now ignored during screenshot tests
* 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`.
* 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>
* Add 'reply to' UI to the message composer.
* Move the `BlurHashAsyncImage` to `:libraries:designsystem` as it is now used in several modules.
* Create reusable `AttachmentThumbnail` and associated data classes and enums, it's now added to `:libraries:matrixui`.
* Re-use `AttachmentThumbnail` in a `ActionListView` and `TextComposer`.
* Add 'inReplyTo' models and UI.
* Add min size for images
* Create a separate layout for media items with no reply to info. Also, separate `Timeline__Row` components from `TimelineView`, as it was getting too large.
* Added `EqualWidthColumn` to use inside message bubbles. Also fixed some modifiers for media items replying to other messages.
* Disable `inReplyToClicked`.
* Remove unused resources and libraries.
* Remove any traces of `BlurHashAsyncImage` in `:features:messages`, since it was moved to the design system.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
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