Commit graph

58 commits

Author SHA1 Message Date
Travis Ralston
7674030c6e Show 'show more' when there are less tiles than the default
For example, if you only have 3/10 rooms required for the default then resize smaller, we should have a 'show more' button.

This works by changing the rendering to be slightly more efficient and only looping over what is seen (renderVisibleTiles(), using this.numTiles in place of tiles.length) and using a new setVisibleTilesWithin() function on the layout. Previously resizing the 3/10 case would be setting visibleTiles to ~8 instead of ~1 like it should (because the getter returns a default).
2020-06-30 19:14:36 -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
☕ Tim
c8381021b8 Hide room list show less button if it would do nothing
Signed-off-by:  Tim <tim@wants.coffee>

On the new rooms list, if the show less button wouldn't result in a
smaller list, don't show it.

Fixes vector-im/riot-web#14219
2020-06-28 04:08:06 +08:00
Travis Ralston
30489ce819
Merge pull request #4840 from matrix-org/travis/room-list/resizer-2
Iterate on the new room list resize handle
2020-06-25 16:27:39 -06:00
Travis Ralston
555078a993 Iterate on the new room list resize handle
Only show shadow when resizing, increase the hit area, and make the handle show up when the list itself is hovered.
2020-06-25 16:03:56 -06:00
Travis Ralston
0af1507eed Update sublists for new hover states
Fixes https://github.com/vector-im/riot-web/issues/14135
Unblocks https://github.com/vector-im/riot-web/issues/14089
2020-06-25 12:11:10 -06:00
Travis Ralston
5efa5d2c80 Implement new resize handle for dogfooding
Smaller handle width, small shadow on the top of the show more button if there's more rooms to be shown. The resize handle also only shows when you're hovering in the area now.

The original design called for the shadow to show up only if the user is cutting a tile or dragging, however that is complicated implementation-wise. For speed and encouraging a dogfooding pattern we're going ahead with this behaviour instead.
2020-06-25 10:08:44 -06:00
Travis Ralston
37a415693f Allow the user to resize the new sublists to 1 tile
For dogfooding https://github.com/vector-im/riot-web/issues/14137

To change the default: `localStorage.setItem("mx_dogfood_rl_defTiles", 4);`
2020-06-24 20:08:26 -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
894357f7f6 Merge branch 'develop' into travis/room-list/unread-2 2020-06-22 14:16:52 -06:00
Travis Ralston
cf92fc37d4 Fix layout of minimized view for new room list 2020-06-22 12:51:53 -06:00
Travis Ralston
eeb408a081 Update badge logic for new setting and behaviour
For https://github.com/vector-im/riot-web/issues/14084
2020-06-22 10:26:19 -06:00
Jorik Schellekens
291997421b Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/semicolon 2020-06-18 14:54:20 +01:00
Travis Ralston
4a5cc8557c
Merge pull request #4785 from matrix-org/travis/room-list/show-less-is-more
Don't show a 'show less' button when it's impossible to collapse
2020-06-18 07:46:32 -06:00
Jorik Schellekens
05d0309081 Lint a few semicolons 2020-06-18 14:32:43 +01:00
Travis Ralston
245181cf80 Fix show less/more button occluding the list automatically
When the user would click 'show more' they would be presented with a 'show less' button that occluded the last room. 

Similarly, if they resized the list so that all their rooms would be shown and refreshed the page, they would find their last room covered by the button.

This changes the handling so that showAllClick() sets the height to numTiles + button padding, and adjusts the height calculations on render to deal with relative tiles.

This also removes the conditional padding of the resize handle, as we always occupy the 4px of space. It was leading to rooms getting trimmed slightly by the show N button.
2020-06-17 22:09:59 -06:00
Travis Ralston
1735da8cb1 Don't show a 'show less' button when it's impossible to collapse
Fixes https://github.com/vector-im/riot-web/issues/14076
2020-06-17 22:04:34 -06:00
Travis Ralston
58671f014b
Merge pull request #4765 from matrix-org/travis/room-list/show-less
Add a 'show less' button to the new room list
2020-06-17 10:24:50 -06:00
Travis Ralston
d2831ffb0c
Merge pull request #4758 from matrix-org/travis/room-list/sticky
Sticky and collapsing headers for new room list
2020-06-17 08:28:38 -06:00
Travis Ralston
bcebef7e56 Add a globe icon to public rooms
For https://github.com/vector-im/riot-web/issues/14039
2020-06-16 12:13:12 -06:00
Travis Ralston
84e60ee439 Add a 'show less' button to the new room list 2020-06-15 20:00:09 -06:00
Travis Ralston
4186070489 Support list collapsing and jumping
Fixes https://github.com/vector-im/riot-web/issues/14036
2020-06-15 19:47:43 -06:00
Travis Ralston
eeac80096c Float the badges with the sticky headers 2020-06-13 19:07:19 -06:00
Travis Ralston
9eb965878a
Merge pull request #4754 from matrix-org/travis/room-list/per-list-algo
Support per-list options and algorithms on the new room list
2020-06-12 08:40:23 -06:00
Travis Ralston
4aa15ee191 Wire up the context menu to the room list store
Updates are passed along magically to the sublist, so we don't need to listen for the room list store's response to our changes.

This just hits the functions introduced in the last commit.
2020-06-11 22:04:10 -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
2e04414331
Merge pull request #4750 from matrix-org/travis/room-list/leak
Add some resource leak protection to new room list badges
2020-06-11 12:33:11 -06:00
Travis Ralston
d1c2ecb6cc Add some resource leak protection to new room list badges
Most of the leaks were because we never set `this.rooms` in the notification state, which meant we were constantly triggering the `diff.added` loop.
2020-06-10 16:04:27 -06:00
Travis Ralston
be366bdd7f Fix various layout concerns with the new room list
It had ~32px of overflow causing a horizontal scrollbar. Turns out the layout engine gets confused when hidden elements are at the end of a flexbox, so we just move them higher in the DOM (where they logically still make sense).

The remaining changes are all alignment and misc changes in that respect, and probably not obvious.
2020-06-10 15:05:17 -06:00
Jorik Schellekens
b63d73e3b6
Merge pull request #4729 from matrix-org/joriks/appearance-tab
Move Settings flag to ts
2020-06-10 16:57:18 +01:00
Travis Ralston
a3391d9a08 Merge branch 'develop' into travis/room-list/hover-state 2020-06-10 07:42:41 -06:00
Travis Ralston
111394df6d Add hover states and basic context menu to new room list
The 'sort by' radio buttons are blocked by https://github.com/matrix-org/matrix-react-sdk/pull/4731 as it contains the styles needed.

The 'unread rooms' checkbox is intentionally not hooked up. This is a more complicated refactoring that needs to be done.

The message preview checkbox works, though the previews remain hardcoded in this change. The primary intent of this change is to have a good enough context menu and the hover states.

The hover states are as described in the design.
2020-06-09 21:12:49 -06:00
Travis Ralston
5f8b7187cf Update resize handle for new designs
The diff should have information on what this does and how it is supposed to work.
2020-06-09 19:48:31 -06:00
Travis Ralston
086b9101fa Add sublist badge counts to new room list
Also add IDLE state to rooms
2020-06-08 13:42:18 -06:00
Jorik Schellekens
d6a532040e lint 2020-06-08 16:57:39 +01:00
Travis Ralston
ea6b0a60ab Merge branch 'develop' into travis/room-list/css-layout 2020-06-05 13:19:00 -06:00
Travis Ralston
e93a41c5fb Minor clarity 2020-06-05 13:14:44 -06:00
Travis Ralston
51038b0c02 Replace math hacks with temporary placeholder 2020-06-05 11:03:18 -06:00
Travis Ralston
475ba61671 Give the show more button some real CSS
This is still somewhat placeholder.
2020-06-05 08:48:23 -06:00
Travis Ralston
6752c2832e Add missing var 2020-06-05 08:40:32 -06:00
Travis Ralston
b31a8d494b Merge branch 'travis/room-list/scrolling-resize' into travis/room-list/css-layout 2020-06-05 08:39:19 -06:00
Travis Ralston
1f11298aa3 Annotate hacky math 2020-06-04 21:45:32 -06:00
Travis Ralston
e90e70bd77 Misc cleanup 2020-06-04 21:43:33 -06:00
Travis Ralston
0694637b06 Remove debug 2020-06-04 21:38:06 -06:00
Travis Ralston
f347019cf8 Remove obviously questionable color choices 2020-06-04 21:37:10 -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
a3fdd643d7 Add hacky math support 2020-06-04 09:57:16 -06:00
Travis Ralston
83df79aab9 Try variable resizing 2020-06-04 09:19:03 -06:00
Travis Ralston
30027a6556 Remove debugging 2020-06-03 21:53:58 -06:00