* refactor: extract `getTagsForRoom` from old rls
`getTagsForRoom` doesn't rely on the rls state. We can extract it safely
to an external function.
The function is not moved into the rls v3 because the rls is for the
room list and not for other ui elements.
* refactor: remove dead code
* test: add more tests for `getTagsForRoom`
* refactor: `getTagsForRoom` in old rls
* doc: add missing tsdoc for `room`
* refactor: move `DefaultTagID` and `TagID` to rls v3
Move the enum and type in rls v3 and update imports
* refactor: move `getChangedOverrideRoomMutePushRules` from rls to rls v3
* refactor: replace `VisiblityProvider` by `isRoomVisible` and move it to rls v3
* perf(room list): clear room list item vm only when changing space
Clearing all the item vms at every room list change is causing massive
re-render of all the room list items. References to the vms are already
removed when out of view (see RoomListViewMode.updateVisibleRooms) and
handled by GC.
* perf(room list): avoid to re-render filters at every room list update
RoomListView re-renders on update but the filters (children) don't need
to.
Add a memo to avoid excessive-rerenders.
* chore: add `keepIfSame` to do diff on vm objects
* perf(room list): avoid to create new filter ids and keys when the room list is updated
The filterKeys are passed in the virtuoso context so it should reduce
internal computing
The filter ids array has always the same value, there is no point to
create a new instance.
* test(room list): remove no longer relevant test
* test(room list): add new test to ensure that room list item vms are preserved
* Init shared component structure
* Storybook implementation
* Add snapshots of storybook examples
* ViewModel Creation + Implementation In EventTile.tsx
* Prettier
* Update HTML snapshot
* Add onhover pointer on bottons
* Added compound web tooltip
* Removed possible of undefined on label
* Update snapshots
* Update setters to use merge instead of updating full snapshot
* adapt view model test for setters change
* Actions should be passed to viewmodel fix
* replace ReactionsRowWrapper forceRender with explicit reaction state
* Update snapshot
* Refactor DateSeparator using MVVM and move to shared-components
* Add a few more stories, tests and screenshots
* Use the shared component and viewmodel in element-web
* Renaming custom content property an updating snapshots
* Fix lint errors and update snapshot after merge
* Change lifecycle handling for DateSeparatoreViewModel in components where manual handling is preferrable over wrapper component.
* Move context menu from viewmodel to shared components - step 1
* Create a jump to date picker component in shared components
* Add tests for coverage and fix layout issues and roving indexes
* Make element-web use the new component
* Simplify context menu and adjusting tests
* The HTMLExport now render shared components and need a I18nContext.Provider
* Updating unit tests for context menu
* Changed to {translate: _t} to let scripts pick up translations
* Fix lint issue and updating screenshots after merge
* Update snaps for element web components
* Renaming MVVM view components with suffix View.
* Fixing problem with input date calendar icon and system dark theme
* Changed the rendering of the menu and added a separate button component
* Handle input control with useRef in onKeyDown
* Updating DateSeparator snapshots on unit tests
* Updating layout after compound Menu got a className property
* Move files to new subfolder after merge
* Updated snapshot after merge
* Updating lock file
* Updates to styling from PR review
* Updates to focus/blur functionality
* Fixed tabbing and export documentation to stories
* Updated snapshots
---------
Co-authored-by: Zack <zazi21@student.bth.se>
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts
And a couple of gitignore tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>