Commit Graph

956 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
0313fa56dd Create a new room in a space (#6061)
* Add `SpaceService.editableSpaces` and `SpaceService.addChildToSpace`

* Add `parentSpace` to `CreateRoomConfig`

* Allow setting a parent space to a room in `ConfigureRoomPresenter`, make sure the room is added to the parent space when creating it

* `ConfigureRoomPresenter`: Load the list of possible spaces a room can be added to

* Refactor `RoomVisibilityState` to internally use `JoinRuleItem`

This gets rid of `RoomAccess` and `RoomAccessItem`, and it will allow us to map the join rule items in a cleaner way to both join rules and the UI

* Implement the UI changes:

- Display the parent space.
- Allow selecting a new one.
- Import needed strings.

* Fix existing tests

* Add `@Immutable` annotation to `SpaceRoom`, since it was detected as unstable.

Maybe because of `RoomType`?

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-26 18:23:02 +01:00
ganfra
fa1b32f0ba Let SearchBar/SearchField use TextFieldState 2026-01-23 10:32:58 +01:00
ganfra
626479844f Quality improvements after PR review 2026-01-22 19:57:04 +01:00
ganfra
9fe7c50972 Implement Space "Add existing rooms" logic and ui 2026-01-21 17:33:30 +01:00
Jorge Martin Espinosa
03d14087e6 Create spaces (#5982)
* Allow creating a space with `CreateRoomParameters`

* Add 'Create space' menu item in the spaces home screen. Also, imports new strings related to spaces.

* Link the 'Create space' button with the screen to create the space

* Unify room access and visibility for `ConfigureRoom`, use the updated design

* Fix `EditRoomDetails` avatar size (68dp)

* Replace `EditableAvatarView` and `UnsavedAvatar` copmonents with `AvatarPickerView`

* `AvatarDataFetcherFactory`: Make sure we use a fallback image fetcher when the URL is not an MXC one (a local one, i.e.). This removes the previous need for a separate `UnsavedAvatarView`

* Use `AvatarPickerView` in all the screens where `EditableAvatarView` was used

* Improve naming and previews

* Update strings, remove unused ones for `RoomAccessItem`

* Make `isSpace` part of the `CreateRoomConfig`

* Ensure the content fits in the screenshots for `AvatarPickerSizesPreview`

* Add `AvatarDataFetcherFactoryTest`

* Add new feature flag for creating spaces

* Fix ripple being too large for the `Pick` state

* Tweak margins and section titles a bit

* Add preview for `HomeTopBar` with the spaces case

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-13 14:35:49 +01:00
Benoit Marty
59c175ebe0 Remove BigIcon loading state.
Loading is rendered in the buttons now.
2026-01-08 15:53:09 +01:00
Jorge Martin Espinosa
d67aee23c3 Use TextFieldState for room list search (#5975)
* Add new `FilledTextField` variant using `TextFieldState`

* Use `TextFieldState` for `RoomListSearchState.query` - it seems like this is the best practice for this kind of data

* Bonus: fix the clear button being misaligned
2026-01-07 17:24:01 +01:00
Benoit Marty
b01135aeef Merge pull request #5963 from element-hq/feature/bma/variablePlayBackSpeed
Voice message: variable play back speed
2026-01-05 13:58:01 +01:00
Benoit Marty
5b6dfca5d3 Ensure that room / space avatar always have a contentDescription. 2026-01-02 16:23:15 +01:00
Benoit Marty
78ad8056a1 Cleanup 2026-01-02 16:07:45 +01:00
Benoit Marty
325d7d5fde Remove useless curly braces 2025-12-31 11:24:49 +01:00
Benoit Marty
c9b3a19a90 Improve click effect. 2025-12-31 10:02:58 +01:00
Benoit Marty
8a52d2b8ce Improve preview. 2025-12-31 09:23:08 +01:00
Benoit Marty
bbe8e112cd Extract PlaybackSpeedButton as an Atom. 2025-12-31 09:19:45 +01:00
Benoit Marty
46ae4b9f6b Merge pull request #5945 from element-hq/feature/bma/listItemFont
Use only font from compound
2025-12-29 09:24:01 +01:00
ganfra
97d22935f2 Merge pull request #5950 from element-hq/feature/fga/iterate_permissions_screen
Changes : iterate again on permissions
2025-12-22 18:41:38 +01:00
ganfra
a12c37d6d9 misc : add enabled param to ListItemContent.Custom View 2025-12-22 15:25:54 +01:00
Benoit Marty
4402585a52 Use typography instead of materialTypography. 2025-12-20 17:03:18 +01:00
Benoit Marty
d04ebe880b Simplify the copy of the history visibility settings
Closes #5898
2025-12-19 14:53:06 +01:00
Benoit Marty
65c17eacc6 Merge pull request #5909 from element-hq/feature/bma/qrCodeLogin
Link new device using QrCode - First version
2025-12-18 16:08:21 +01:00
Benoit Marty
b6991c05cb Fix colors again 2025-12-17 08:33:16 +01:00
Benoit Marty
fe78c70625 Make sure preview contains the two themes. 2025-12-17 08:33:16 +01:00
Benoit Marty
868108d725 Fix SearchBar colors.
Ref: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=1992-8350
2025-12-17 08:33:15 +01:00
Benoit Marty
0fde8a9b59 Fix compilation errors and warnings. 2025-12-17 08:33:14 +01:00
Benoit Marty
fd446e98dd Link new device using QrCode. 2025-12-16 16:14:04 +01:00
Benoit Marty
fbaedd017e Merge pull request #5845 from element-hq/feature/bma/unsavedChangeDialog
Update unsaved change dialog
2025-12-04 11:03:42 +01:00
Benoit Marty
eeef1b11ea Iterate on Save change dialog. 2025-12-03 18:04:53 +01:00
Benoit Marty
0405ce9254 Remove unused import. 2025-12-03 17:55:40 +01:00
Benoit Marty
8ece139b63 Remove dead code. 2025-12-02 15:34:09 +01:00
ganfra
534d69f695 design: introduce SearchField component 2025-11-21 18:41:49 +01:00
ganfra
38eea9d4af change(members): update RoomMemberModerationView 2025-11-21 18:41:49 +01:00
ganfra
f56ec5908d change(room members): moderation sheet design updates 2025-11-13 17:13:45 +01:00
Benoit Marty
185d4fadde Let notifications use avatar fallback.
Extract code which handles Matrix image to its own api / impl / test modules.
2025-11-12 11:28:42 +01:00
Benoit Marty
1292da2a72 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
b748fcc631 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
0a0224b586 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Skye Elliot
400db77e46 chore: Remove unused import. 2025-11-07 15:24:24 +00:00
Skye Elliot
ec3103b788 fix: Use Icon(imageVector = icon) over rememberVectorPainter(icon) 2025-11-07 15:18:08 +00:00
Skye Elliot
ef56d15ef4 refactor: Extract ComposerAlertMoleculeParamsProvider to new file. 2025-11-07 15:15:00 +00:00
Skye Elliot
7abbb1bb19 Merge branch 'develop' into kaylendog/history-sharing/alert 2025-11-07 15:10:29 +00:00
ganfra
c08f4a183c Merge branch 'develop' into feature/fga/role_and_permissions_rework 2025-11-06 13:51:04 +01:00
Skye Elliot
87ef2179a1 feat: Convert ComposerAlertMolecule to use alert levels. 2025-11-06 12:44:02 +00:00
ganfra
de4f0e7ce3 design: improve PreferenceDropdown 2025-11-06 10:59:50 +01:00
Benoit Marty
f8d8830194 Rename preview. 2025-11-06 09:33:43 +01:00
ganfra
79cf41d59c Merge branch 'develop' into feature/fga/role_and_permissions_rework 2025-11-05 20:29:04 +01:00
ganfra
fca62a333e change(roles and permissions): clean code 2025-11-05 15:40:34 +01:00
ganfra
849dfa4a5e design: PreferenceDropdown now uses DropdownMenu 2025-11-05 10:21:09 +01:00
ganfra
fb1e83fdf9 design: update DropdownMenu to better match figma 2025-11-05 10:16:51 +01:00
Benoit Marty
bfc13c37a9 Extract SaveChangesDialog to its own file 2025-11-04 15:58:59 +01:00
Benoit Marty
f1ad56bef1 Move dependencies block out of the android block. 2025-11-03 22:29:38 +01:00