Room list: add collapse/expand all sections (#33318)

* chore: update compound design tokens

* feat(sc): add collapse/expand button to room list header

* feat: add new events to broadcast section state

* feat(vm): add expand/collpase event to room list events

* test: add e2e tests

* chore: fix company name in copyright

* chore: use two differant actions for collapse/expand

* Update apps/web/src/viewmodels/room-list/RoomListHeaderViewModel.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* test: fix existing tests

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Florian Duros
2026-04-30 16:32:43 +02:00
committed by GitHub
parent a7ab72af11
commit c2e5aa7adc
16 changed files with 392 additions and 14 deletions
+11 -11
View File
@@ -13,8 +13,8 @@ catalogs:
specifier: 1.59.1
version: 1.59.1
'@vector-im/compound-design-tokens':
specifier: 10.1.0
version: 10.1.0
specifier: 10.1.1
version: 10.1.1
'@vector-im/compound-web':
specifier: 9.2.1
version: 9.2.1
@@ -374,10 +374,10 @@ importers:
version: 1.0.2
'@vector-im/compound-design-tokens':
specifier: 'catalog:'
version: 10.1.0(@types/react@19.2.14)(react@19.2.5)
version: 10.1.1(@types/react@19.2.14)(react@19.2.5)
'@vector-im/compound-web':
specifier: 'catalog:'
version: 9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.0(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
version: 9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.1(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@vector-im/matrix-wysiwyg':
specifier: 2.40.0
version: 2.40.0(patch_hash=7bdf6150f2905bc2f055a6bcaa7b9d78fa7ffde82e800bcc454ac7b0096bd65e)(react@19.2.5)
@@ -1043,7 +1043,7 @@ importers:
version: 1.16.0
'@vector-im/compound-design-tokens':
specifier: 'catalog:'
version: 10.1.0(@types/react@19.2.14)(react@19.2.5)
version: 10.1.1(@types/react@19.2.14)(react@19.2.5)
classnames:
specifier: ^2.5.1
version: 2.5.1
@@ -1158,7 +1158,7 @@ importers:
version: 8.58.2(eslint@8.57.1)(typescript@6.0.3)
'@vector-im/compound-web':
specifier: 'catalog:'
version: 9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.0(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
version: 9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.1(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@vitest/browser-playwright':
specifier: ^4.0.17
version: 4.1.5(playwright@1.59.1)(vite@8.0.10(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.6.1)(sugarss@5.0.1(postcss@8.5.10))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.5)
@@ -5904,8 +5904,8 @@ packages:
'@upsetjs/venn.js@2.0.0':
resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==}
'@vector-im/compound-design-tokens@10.1.0':
resolution: {integrity: sha512-o+7DGx+NygpT2NPE1Jo//7NZDuyjzRH06eRchS0ZlkJicKx/impEmShmHU/XiE4P84BIFOo9eZ1Ws+rAym6Tuw==}
'@vector-im/compound-design-tokens@10.1.1':
resolution: {integrity: sha512-f2rdTilbPeOjrX7Mh9iTPcp5VergY7JLLWzKVjwMvpT0wtoFKwn59D1hwX2QInpiG70QTCxEdQFYLxQKvJQ74Q==}
peerDependencies:
'@types/react': ^19.2.10
react: ^17 || ^18 || ^19.0.0
@@ -18677,12 +18677,12 @@ snapshots:
d3-selection: 3.0.0
d3-transition: 3.0.1(d3-selection@3.0.0)
'@vector-im/compound-design-tokens@10.1.0(@types/react@19.2.14)(react@19.2.5)':
'@vector-im/compound-design-tokens@10.1.1(@types/react@19.2.14)(react@19.2.5)':
optionalDependencies:
'@types/react': 19.2.14
react: 19.2.5
'@vector-im/compound-web@9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.0(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)':
'@vector-im/compound-web@9.2.1(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.1(@types/react@19.2.14)(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)':
dependencies:
'@floating-ui/react': 0.27.17(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@fontsource/inconsolata': 5.2.8
@@ -18693,7 +18693,7 @@ snapshots:
'@radix-ui/react-progress': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@radix-ui/react-separator': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.2.5)
'@vector-im/compound-design-tokens': 10.1.0(@types/react@19.2.14)(react@19.2.5)
'@vector-im/compound-design-tokens': 10.1.1(@types/react@19.2.14)(react@19.2.5)
classnames: 2.5.1
react: 19.2.5
vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)