* fix(room list item): add bold when there is a notification
* fix(room list item menu): fix color of check icon
* fix(menu): remove chevron
* chore: update @vector-im/compound-web
* test(room list): update tests
* test(e2e): update snapshots
* feat: add `utils.hasAccessToNotificationMenu`
* feat(room list item view model): use `hasAccessToNotificationMenu` to compute `showHoverMenu`
* feat(room list item menu view model): add notification options menu attributes
* feat(room list item menu view): add notification options
* test: add tests for `utils.hasAccessToNotificationMenu`
* test(room list item view model): add test for `showHoverMenu`
* test(room list item menu view model): add tests for new attributes
* test(room list item menu view): add tests for notification options menu
* chore: update i18n
* test(e2e): update screenshots
* test(e2e): add tests for notification options menu
* fix(menu): reduce gap between button and button size
* fix(notification decoration): increase gap between icons
* fix(room list item): different right padding depending on the menu, notification decoration and the regular case
* test: update snapshots
* test(e2e): update snapshots
* fix(room list): remove 1px extra padding
* feat(room list): add selection decoration to room list item and scroll list to this element
* test(room list item): add is selected test
* test(room list): update snapshot
* test(e2e): add test to keep the room list item visible
* test(e2e): update snapshots
* Introduce a hook to track active room
This hook simply keeps a state which tracks the index of the active room
in the list of rooms passed through props. This index will be recomputed
if the active rooms changes or if the list itself changed.
* Use hook in the view model
* Write tests
* Fix broken tests
* refactor: extract room creation and right verification
* refactor: update `RoomListHeaderViewModel` to use utils
* feat(room list filter): add filter key to `PrimaryFilter` model
* feat(room list filter): return active primary filter
* feat(room list): add create room action and rights verification
* test: update room list tests
* feat(empty room list): add empty room list
* test(empty room list): add empty room list tests
* feat(room list): use empty room list in `RoomListView`
* test(room list panel): update tests
* test(e2e): add e2e tests for empty room list
* test(e2e): update room list header snapshot
* refactor(room list item): rename `RoomListCell` into `RoomListItemView`
* refactor(room list item): move open room action to new room list item view model
* feat(hover menu): add `hasAccessToOptionsMenu`
* feat(hover menu): add to `RoomListItemViewModel` the condition to display or not the hover menu
* feat(hover menu): add view model for the hover menu
* feat(hover menu): add hover menu view
* feat(hover menu): add hover menu to room list item
* feat(hover menu): update i18n
* test(view model list item): update test and add test to `showHoverMenu`
* test(room list): update snapshot
* test(room list item menu): add tests for view model
* test(room list item menu): add tests for view
* test(room list item): add tests
* test(e2e): add tests for more options menu
* chore: update compound web
* test(e2e): fix typo
* fix(room list header): in view model, can create room in space if user has the right. Display the compose menu if the user can create room or video room
* fix(room list header): can create directly chat if compose menu is disabled
* test(room list header): add tests for view model
* test(room list header): update tests of view
* test(room list header): update list test
* Add a hook that deals with the sorting behaviour
Hook will provide a function to sort the list and also provides a state
which tracks the currently active sort option.
* Use hook in vm
* Write test for the vm
* Fix broken view tests
* Track available filters and expose this info from the vm
- Adds a separate hook that tracks the filtered rooms and the available
filters.
- When secondary filters are added, some of the primary filters will be
selectively hidden. So track this info in the vm.
* Write tests
* Fix typescript error
* Fix translation
* Explain what a primary filter is
* Implement enough of the new store to get a list of rooms
* Make it possible to swap sorting algorithm
* Don't attach to window object
We don't want the store to be created if the labs flag is off
* Remove the store class
Probably best to include this PR with the minimal vm implmentation
* Create a new room list store that wraps around the skip list
* Create a minimal view model
* Fix CI
* Add some basic tests for the store
* Write more tests
* Add some jsdoc comments
* Add more documentation
* Add more docs