Commit graph

97 commits

Author SHA1 Message Date
Benoit Marty
6681f6f806 Remove StableCharSequence, it was useful when we were using the Epoxy library. 2023-07-17 16:47:54 +02:00
Benoit Marty
6fd5ac6655
Merge pull request #859 from vector-im/feature/bma/transactionId
Create value class for transactionId
2023-07-17 11:28:42 +02:00
Marco Romano
a63d3df39c
Extract MessageComposerContext class from MessageComposerPresenter (#876)
When sending "Composer" analytics from screens other than the composer's (e.g. send location from map) we need to know the composer's mode in order to properly fill the analytics event. `MessageComposerContext` hoists this state so that other presenters can also read it.

Related to:
https://github.com/vector-im/element-meta/issues/1674
https://github.com/vector-im/element-meta/issues/1682
2023-07-14 11:32:09 +00:00
Benoit Marty
6e2f645514 Create value class for transactionId. There is no validation on the format, but validation is a bonus for userId, roomId, etc.
The main advantage of using value classes instead of Strings everywhere is to detect errors at compilation time.
2023-07-12 18:15:17 +02:00
Benoit Marty
5846af2aa4 Remove ElementTextStyles. Only ElementTheme.typography.* styles must be used now. 2023-07-10 17:33:42 +02:00
Marco Romano
c48fcac2f1
Use @DayNightPreviews to correctly render the PinIcon in dark mode (#795)
- Fixes rendering of `-night` resources in screenshot tests by overriding the `nightMode` with `paparazzi.unsafeUpdateConfig()`.
2023-07-07 16:35:34 +02:00
Jorge Martin Espinosa
78a26c034e Fix actions for redacted, not sent and media messages (#771)
* Fix actions for redacted, not sent and media messages

* Make `EventDebugInfoView` sections fill max width

* Don't display action list if there are no actions to display

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-05 14:08:17 +00:00
Marco Romano
ca695ca077 Revert "Auto generate dark mode previews and screenshots (#776)" (#784)
This reverts commit fd467c2451.
2023-07-05 15:47:53 +02:00
Marco Romano
fd467c2451 Auto generate dark mode previews and screenshots (#776)
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
2023-07-05 13:58:24 +02:00
Benoit Marty
f0ed80803a Merge pull request #755 from vector-im/feature/bma/scrollToBottom
Scroll to bottom
2023-07-03 18:20:32 +02:00
Benoit Marty
663250aa2a TextComposer: change caret color to iconAccentTertiary 2023-07-03 14:25:43 +02:00
Chris Smith
8590ad74ac Merge pull request #740 from vector-im/feature/cjs/location-replies
Show location replies per the designs
2023-07-03 12:52:28 +01:00
bmarty
6e54ed7b77 Sync Strings from Localazy 2023-07-03 00:11:17 +00:00
Chris Smith
f5e57f1645 Show location replies per the designs 2023-06-30 16:14:44 +01:00
Benoit Marty
4949c13fe2 Show keyboard when entering special mode (edit/reply/etc.) 2023-06-29 18:17:37 +02:00
Benoit Marty
d502c5ade7 When composer does not have focus, hide border. 2023-06-29 18:17:37 +02:00
Benoit Marty
c1a2ffbcc4 Composer placeholder ("Message") color changed to textDisabled 2023-06-29 18:17:37 +02:00
Benoit Marty
e5f933576f Animate rounded corner size change to avoid blink effect when changing number of lines from 1 <-> 2 in the composer. 2023-06-29 18:17:37 +02:00
Benoit Marty
737a797e69 Dsign for editing section in composer and increase click area for the close button. 2023-06-29 18:17:37 +02:00
Benoit Marty
d8fdbabd27 Fix send attachment icon color (and remove useless Box) 2023-06-29 18:17:37 +02:00
Benoit Marty
c3ab4318e6 Fix send message icon color 2023-06-29 18:17:37 +02:00
Benoit Marty
34554028cd Fix color for composer. 2023-06-29 18:17:37 +02:00
Benoit Marty
26c50fab0e Text style for reply to in timeline and in composer. 2023-06-29 18:17:37 +02:00
Chris Smith
53861fedb6 Show a prompt to reinvite other party in a DM
If you are looking at a DM where the other party has left then
when you focus the composer for the first time we'll show a
dialog asking if you want to reinvite the other party.

Closes #590
2023-06-28 17:20:51 +01: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
02a71155d9 Improve rendering of message reply preview. 2023-06-27 19:48:31 +02:00
Benoit Marty
e2731c1d4c Fix color of reply body preview. 2023-06-27 19:43:03 +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
Benoit Marty
44e53b9526 StringR -> CommonStrings 2023-06-27 16:11:32 +02:00
Benoit Marty
aadc6d68d8 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
9264dd891e More cleanup 2023-06-27 13:38:55 +02:00
Benoit Marty
659b9d3d9c Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
Benoit Marty
798da50454 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
bmarty
874739ece9 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
Jorge Martin Espinosa
3e9475c8ab Set max lines to 2 in replies for composer (#645)
* Set `maxLines = 2` for the composer message preview in replies

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-20 17:07:53 +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
Jorge Martin Espinosa
c176eab4a3 [Message actions] New UI for replies (#545)
* 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>
2023-06-08 12:15:13 +02:00
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
github-actions[bot]
044a3c991e Sync Strings (#522)
Sync Strings from Localazy
2023-06-05 15:26:50 +00:00
bmarty
175b7deccb Sync Strings from Localazy 2023-05-29 00:09:47 +00:00
Benoit Marty
8beb7310ef Fix compilation issue with Wysiwyg 2.2.0 2023-05-23 11:55:23 +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
Jorge Martin Espinosa
eeca1c9ee3 Add PickerLauncher wrapper for media/file pickers. (#361)
* Add `PickerLauncher` wrapper for media/file pickers.

* Add FileProvider path, handle Camera picker and add NoOp implementation to fix tests.

* Move media pickers to their own module.

* Add missing media pickers

* Add feature flag and some extra tests
2023-04-28 10:52:34 +02:00
bmarty
860777d20c Sync Strings from Localazy 2023-04-24 00:09:54 +00:00
Jorge Martin Espinosa
de010545fb Update Gradle to 8.1 and AGP to v8.0 (#329)
* Update AGP to 8.0.0.

* Set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var.

* Upgrade to Gradle 8.1.

* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 08:49:52 +00:00
Benoit Marty
85b825e669 Ensure ellipsis char is used (fix lint issue). 2023-04-05 11:44:55 +02:00
Benoit Marty
cca31af3f4 Invoke ./tools/localazy/downloadStrings.sh --all 2023-04-05 11:11:47 +02:00
Benoit Marty
998178b70f [Strings] Use strings from localazy. 2023-03-27 14:44:24 +02:00
Benoit Marty
0af5ee0741 [Strings] Sync the strings. 2023-03-27 14:36:46 +02:00
Benoit Marty
466579c4d3 Move class of matrix.api module to api sub package. 2023-03-02 17:32:47 +01:00