Commit graph

3384 commits

Author SHA1 Message Date
Michael Telatynski
1849ed90d2 Implement ViewRoomDelta for the new Room List
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:58:29 +01:00
Michael Telatynski
6cb0ac6a50 Fix checkboxes/radios in context menus should only close on ENTER, not SPACE
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 10:18:49 +01:00
Michael Telatynski
87a7a8a02b Add TODOs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 01:15:53 +01:00
Michael Telatynski
7c29a53ebd aria-hide the notifications badge on room tiles as we have manual labels here
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 19:59:29 +01:00
Michael Telatynski
a68e23c9e0 Make message previews accessible via describedby
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 19:38:45 +01:00
Michael Telatynski
069cdf3ce0 Fix room list v2 context menus to be aria menus
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 18:23:57 +01:00
Michael Telatynski
1620feb55e Sprinkle in some better ARIA props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 01:07:46 +01:00
Michael Telatynski
599cc9c9ed
Merge pull request #4882 from matrix-org/t3chguy/room-list/6
First step towards a11y in the new room list
2020-07-03 20:17:33 +01:00
Travis Ralston
26ce801ef1
Merge pull request #4887 from matrix-org/t3chguy/room-lists/99
fix notifications icons some more
2020-07-02 17:16:45 -06:00
Michael Telatynski
22ac7e6def fix notifications icons some more
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-03 00:14:51 +01:00
Michael Telatynski
9cf162e267 Merge branches 'develop' and 't3chguy/room-list/6' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/6
 Conflicts:
	src/components/views/rooms/RoomSublist2.tsx
	src/components/views/rooms/RoomTile2.tsx
2020-07-03 00:02:37 +01:00
Michael Telatynski
404009c8cb Merge branches 'develop' and 't3chguy/room-list/3' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/3
 Conflicts:
	src/components/structures/ContextMenu.tsx
	src/components/views/rooms/RoomSublist2.tsx
2020-07-02 23:46:12 +01:00
Michael Telatynski
08392d53f0
Merge pull request #4884 from matrix-org/t3chguy/room-lists/99
Fix bell icon mismatch on room tile between hover and context menu
2020-07-02 23:31:48 +01:00
Michael Telatynski
5c5482a8ae I've got 99 problems and this badge mismatch is no longer one
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 23:20:16 +01:00
Travis Ralston
cc23f23f19
Merge pull request #4881 from matrix-org/travis/room-list/enable-default
Enable the new room list by default and trigger an initial render
2020-07-02 15:28:36 -06:00
Michael Telatynski
289f40ce29 First step towards a11y in the new room list
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 22:21:10 +01:00
Travis Ralston
df05273225 Merge remote-tracking branch 'origin/joriks/room-list-tooltips' into develop 2020-07-02 15:20:27 -06:00
Travis Ralston
1df092d79b
Merge pull request #4879 from matrix-org/travis/room-list/context-menu-fixes
Fix selection states of room tiles in the new room list
2020-07-02 15:18:19 -06:00
Travis Ralston
ea787ad430
Merge pull request #4876 from matrix-org/travis/room-list/notif-dropdown
Update mute icon behaviour for new room list designs
2020-07-02 15:15:56 -06:00
Travis Ralston
3847dc91c0 Move the stoppage to somewhere more generic 2020-07-02 15:15:33 -06:00
Travis Ralston
547690374e Wrap event stoppage in null checks
Some of the code paths (particularly onFinished) do not have events, but the code paths we care about to prevent the room selection do have events - we can stop those without stopping further menus.
2020-07-02 14:53:21 -06:00
Travis Ralston
0549ef83db
Merge pull request #4878 from matrix-org/travis/room-list/fix-community-invites
Fix alignment of avatars on community invites
2020-07-02 14:39:25 -06:00
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
0d9ce0721f Don't include empty badge container in minimized view
Fixes https://github.com/vector-im/riot-web/issues/14294

It takes up space, and it won't hold anything anyways.
2020-07-02 14:11:31 -06:00
Travis Ralston
e08512020f Fix a couple badge alignment issues with community invites 2020-07-02 14:05:31 -06:00
Travis Ralston
aa702514ce Don't try and show context menus if we don't have one
Fixes https://github.com/vector-im/riot-web/issues/14295
2020-07-02 13:59:28 -06:00
Travis Ralston
e51f9d2492 Fix closing the context menu causing the tile to be selected
Fixes https://github.com/vector-im/riot-web/issues/14293
2020-07-02 13:53:38 -06:00
Travis Ralston
349c3f7090 Only show mute notification icon on rooms, not all notif icons 2020-07-02 13:33:06 -06:00
Travis Ralston
45f4a2a980 Fix imports for NotificationStates 2020-07-02 13:28:06 -06:00
Travis Ralston
b54635863f Merge branch 'develop' into travis/room-list/notification-state 2020-07-02 13:26:16 -06:00
Travis Ralston
43db4b98df Merge branch 'develop' into joriks/room-list-breadcrumbs 2020-07-02 13:22:51 -06:00
Michael Telatynski
4a03b464d6
Merge pull request #4875 from matrix-org/t3chguy/room-list/4
Add click-to-jump on badge in the room sublist header
2020-07-02 20:04:43 +01:00
Michael Telatynski
ae2a6ebc07 improve comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 19:56:41 +01:00
Michael Telatynski
a658612078 Add click-to-jump on badge in the room sublist header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-02 19:48:06 +01:00
Michael Telatynski
c4bbdefa8d
Merge pull request #4870 from matrix-org/t3chguy/room-list/2
Room List v2 context menu interactions
2020-07-02 18:02:21 +01: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
Michael Telatynski
07e0a017e7 fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:56:57 +01:00
Michael Telatynski
e8702aafa5 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:09:02 +01:00
Michael Telatynski
5c2b291510 Support right click context menu interactions on Room List 2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 23:06:26 +01:00
Michael Telatynski
28e430060c
Merge pull request #4858 from matrix-org/t3chguy/room-list/2
Room Tile context menu, notifications, indicator and placement
2020-07-01 19:20:09 +01:00
Travis Ralston
51ce80f333 Merge branch 'develop' into travis/room-list/notification-state 2020-07-01 12:01:07 -06:00
Travis Ralston
2cd6fae2ce
Merge pull request #4865 from matrix-org/travis/room-list/default-vis
Improve resizing interactions in the new room list
2020-07-01 11:59:54 -06:00
Travis Ralston
946fde5cc5 Be consistent in visible tiles usage 2020-07-01 11:59:32 -06:00
Michael Telatynski
9831698b1e Hide notifications menu from invite tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 14:28:00 +01:00
Michael Telatynski
10e547539d Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/2 2020-07-01 14:26:56 +01:00
Michael Telatynski
3b7b6eca6f align context menus even better
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 14:05:33 +01:00
Michael Telatynski
b5014282a4 Iterate PR based on Figma design and feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-01 13:59:50 +01:00
Jorik Schellekens
1dd9c1eea3 Use avatar sisze inplace 2020-07-01 12:28:32 +01:00
Jorik Schellekens
1889ee202b Add tooltips for breadcrumbs 2020-07-01 12:23:27 +01:00
Travis Ralston
ad982624fe Remove context menu on invites in new room list
Fixes https://github.com/vector-im/riot-web/issues/14198

For both, the decision has been made to not have a context menu pending further considerations of where invites should (and should not) be. Likely this will be dealt with in FTUE Notifications.
2020-06-30 19:43:00 -06:00
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
Jorik Schellekens
aab372c648 Add tooltips 2020-07-01 01:50:31 +01:00
Jorik Schellekens
2379ec577c Lint semicolons 2020-06-30 23:39:25 +01:00
Jorik Schellekens
dcd51b5be3 Implement breadcrumb notifications and scrolling 2020-06-30 23:24:46 +01:00
Michael Telatynski
508dea1c89 Wire up Notifications context menu on room tile 2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:53:30 +01:00
Michael Telatynski
198958dcdd Iterate to match figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:32:59 +01:00
Michael Telatynski
cbd2a9cd35 Redo Iconized Context Menu styling to match Figma and simplify future a11y work by flattening the DOM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 22:11:12 +01:00
Travis Ralston
782a555e44 Make badges represent old list behaviour
Fixes https://github.com/vector-im/riot-web/issues/14160
2020-06-30 13:45:10 -06:00
Travis Ralston
393eaf84c3 Move notification states out of the NotificationBadge component
Fixes https://github.com/vector-im/riot-web/issues/14153
2020-06-30 13:34:44 -06:00
Michael Telatynski
54419878fa Add room notifications context menu and non-default indicator to RoomTile2
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-30 00:16:51 +01:00
Michael Telatynski
adf186f568 Fix RoomTile2 Context Menu to match Figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 23:03:44 +01:00
Travis Ralston
175ade8ac4 Merge branch 'develop' into travis/room-list/todo-cleanup 2020-06-28 20:04:41 -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
753f7aa5b8 Remove the DM button from new room tiles
Fixes https://github.com/vector-im/riot-web/issues/14221
2020-06-27 22:48:54 -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
67cc84d00d Merge branch 'develop' into travis/room-list/preview-copy 2020-06-26 07:29:49 -06:00
Michael Telatynski
85c5bb3bc3
Merge pull request #4835 from matrix-org/t3chguy/notifications0
More small tweaks in preparation for Notifications rework
2020-06-25 23:34:28 +01: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
acf56559e1 Introduce an entirely new system for handling message preview copy
This reverts earlier changes made to textForEvent as they are no longer needed.

This also implements an entire tree of textForEvent-like behaviour as the previews need to be different, which is easiest done with its own stack.
2020-06-25 16:26:49 -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
c920cf784e Create a StaticNotificationState for representative purposes 2020-06-25 16:35:54 +01: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
752b2acc56 Move MessagePreviewStore into the room list namespace 2020-06-24 19:51:55 -06:00
Hubert Chathi
74e4ea7d48
Merge pull request #4797 from matrix-org/uhoreg/distrust_backup
Mark messages with a black shield if the megolm session isn't trusted
2020-06-23 15:38:03 -04:00
Travis Ralston
fc5ee64fce Fix read receipt handling in the new room list
Fixes https://github.com/vector-im/riot-web/issues/14064
Fixes https://github.com/vector-im/riot-web/issues/14082

Turns out the event doesn't reference a room, so we need to use the accompanied room reference instead.
2020-06-22 15:12:30 -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
63ad14ae1e Clean up imports 2020-06-22 10:35:55 -06:00
Travis Ralston
8201eed929 Encourage counts if the user has a mention (red state) 2020-06-22 10:26:37 -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
Hubert Chathi
c690cfc6c5 mark messages with a black shield if the megolm session isn't trusted 2020-06-18 21:57:33 -04:00
Travis Ralston
7191c01265 Fix crash when filtering new room list too fast
Fixes https://github.com/vector-im/riot-web/issues/14092

We were simply assuming we had a reference to a notification state, which might not be the case if we're between renders.
2020-06-18 15:52:55 -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
9878c1dc34 and another 2020-06-16 17:42:26 -06:00
Travis Ralston
7a71ef9b6b Fix another space 2020-06-16 17:40:25 -06:00
Travis Ralston
daa552e250 Refactor listener usage 2020-06-16 17:35:56 -06:00
Travis Ralston
b69a5a525d Fix spaces 2020-06-16 17:29:36 -06:00
Travis Ralston
e4a51a7c01 Add presence icons; Convert to generic icon component
For https://github.com/vector-im/riot-web/issues/14039
2020-06-16 14:44:37 -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