Commit graph

24 commits

Author SHA1 Message Date
Travis Ralston
1b782ce5f2 Enable the new room list by default and trigger an initial render
We have to trigger an initial render because during the login process the user will have started syncing (causing lists to generate) but the RoomList component won't be mounted & listening and therefore won't receive the initial lists. By generating them on mount, we ensure that the lists are present once the user gets through the login process.
2020-07-02 14:27:36 -06:00
Travis Ralston
45f4a2a980 Fix imports for NotificationStates 2020-07-02 13:28:06 -06:00
Travis Ralston
32642d592c Add a key 2020-07-02 09:27:42 -06:00
Travis Ralston
b7aa8203b6 Wedge community invites into the new room list
Fixes https://github.com/vector-im/riot-web/issues/14179

Disclaimer: this is all of the horrible because it's not meant to be here. Invites in general are likely to move out of the room list, which means this is temporary. Additionally, the communities rework will take care of this more correctly. For now, we support the absolute bare minimum to have them shown.
2020-07-02 09:04:38 -06:00
Travis Ralston
ee2c216c4d Clean up TODO comments for new room list
All relevant TODOs should still be present, and reference an issue for easy finding.
2020-06-28 20:03:04 -06:00
Travis Ralston
fb551781c2 Force DMs to always be red notifications
This also passes the tagId to the sublist so it doesn't have to rip it out of the `layout`. It doesn't get a layout until later anyways, which causes some null issues.
2020-06-22 14:52:17 -06:00
Travis Ralston
2c04a56784 Add a minimized view to the new room list
This covers everything except breadcrumbs, as those are somewhat undecided from a design perspective.
2020-06-11 14:39:28 -06:00
Travis Ralston
2180a56074 Remove irrelevant property 2020-06-09 21:15:38 -06:00
Travis Ralston
0c15b2bdb6 Simple structuring of the room list itself
This covers the larger parts of the design, but doesn't deal with the nuances of hover states, badge sizing, etc.
2020-06-04 21:21:04 -06:00
Travis Ralston
4c1bc50649 Initial styling for new room list
This is a work in progress, but covers the coarse areas. This uses all-new classes to better describe what everything is, and to reduce the number of selectors we keep track of.

This is primarily layout for the list and not actually the final structure. For example, some buttons are missing and other areas are not styled correctly - the idea in this commit was to get things roughly in the right place and work on it.
2020-06-04 16:41:18 -06:00
Travis Ralston
434f6ea4d4 Remove legacy sublist sizing 2020-06-04 16:36:14 -06:00
Travis Ralston
dbf996439b Wedge t3chguy's resizer prototype into the sublist 2020-06-03 21:17:51 -06:00
Travis Ralston
c07b5ebe9a Initial experiments with resizing of room lists 2020-06-03 21:17:18 -06:00
Travis Ralston
73a8e77d32 Add initial filtering support to new room list
For https://github.com/vector-im/riot-web/issues/13635

This is an incomplete implementation and is mostly dumped in this state for review purposes. The remainder of the features/bugs are expected to be in more bite-sized chunks.

This exposes the RoomListStore on the window for easy access to things like the new filter functions (used in debugging).

This also adds initial handling of "new rooms" to the client, though the support is poor.

Known bugs:
* [ ] Regenerates the entire room list when a new room is seen.
* [ ] Doesn't handle 2+ filters at the same time very well (see gif. will need a priority/ordering of some sort).
* [ ] Doesn't handle room order changes within a tag yet, despite the docs implying it does.
2020-06-01 16:49:22 -06:00
Travis Ralston
559dd98d01 Fix comment style to be less bothersome 2020-05-21 11:53:16 -06:00
Travis Ralston
6cb1efc1a4 Use the new TS dispatcher 2020-05-14 13:45:17 -06:00
Travis Ralston
f8cbadaba5 Clean up comments in skeleton components 2020-05-14 12:53:00 -06:00
Travis Ralston
9f0810240f Clean up imports and other minor lints 2020-05-14 12:46:16 -06:00
Travis Ralston
cb3d17ee28 Bare minimum for rendering a room list
This is non-interactive and missing most features users will expect to have
2020-05-14 12:46:16 -06:00
Travis Ralston
ea34bb3022 Make component index happy 2020-05-14 12:46:16 -06:00
Travis Ralston
5dda7f02cf Early handling of dispatched events
A possible approach to handling the various triggers for recategorizing rooms.
2020-05-14 12:46:16 -06:00
Travis Ralston
09b7f39df8 Simple rendering of the room list for visual aid
This is largely meant to prove the algorithm works and nothing more.
2020-05-14 12:45:35 -06:00
Travis Ralston
861268d39f Invent an AsyncStore and use it for room lists
This is to get around the problem of a slow dispatch loop. Instead of slowing the whole app down to deal with room lists, we'll just raise events to say we're ready.

Based upon the EventEmitter class.
2020-05-14 12:44:29 -06:00
Travis Ralston
08419d195e Initial breakout for room list rewrite
This does a number of things (sorry):
* Estimates the type changes needed to the dispatcher (later to be replaced by https://github.com/matrix-org/matrix-react-sdk/pull/4593)
* Sets up the stack for a whole new room list store, and later components for usage.
* Create a proxy class to ensure the app still functions as expected when the various stores are enabled/disabled
* Demonstrates a possible structure for algorithms
2020-05-14 12:44:29 -06:00