Skip to content

Commit 2b1a4e0

Browse files
Low priority menu item should be a toggle (#30071)
* Use toggle on low priority menu item * Fix broken tests
1 parent 231ab20 commit 2b1a4e0

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

src/components/viewmodels/roomlist/RoomListItemMenuViewModel.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ export interface RoomListItemMenuViewState {
3737
* Whether the room is a favourite room.
3838
*/
3939
isFavourite: boolean;
40+
/**
41+
* Whether the room is a low priority room.
42+
*/
43+
isLowPriority: boolean;
4044
/**
4145
* Can invite other user's in the room.
4246
*/
@@ -117,6 +121,7 @@ export function useRoomListItemMenuViewModel(room: Room): RoomListItemMenuViewSt
117121

118122
const isDm = Boolean(DMRoomMap.shared().getUserIdForRoomId(room.roomId));
119123
const isFavourite = Boolean(roomTags[DefaultTagID.Favourite]);
124+
const isLowPriority = Boolean(roomTags[DefaultTagID.LowPriority]);
120125
const isArchived = Boolean(roomTags[DefaultTagID.Archived]);
121126

122127
const showMoreOptionsMenu = hasAccessToOptionsMenu(room);
@@ -200,6 +205,7 @@ export function useRoomListItemMenuViewModel(room: Room): RoomListItemMenuViewSt
200205
showMoreOptionsMenu,
201206
showNotificationMenu,
202207
isFavourite,
208+
isLowPriority,
203209
canInvite,
204210
canCopyRoomLink,
205211
canMarkAsRead,

src/components/views/rooms/RoomListPanel/RoomListItemMenuView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,12 @@ function MoreOptionsMenu({ vm, setMenuOpen }: MoreOptionsMenuProps): JSX.Element
109109
onSelect={vm.toggleFavorite}
110110
onClick={(evt) => evt.stopPropagation()}
111111
/>
112-
<MenuItem
112+
<ToggleMenuItem
113+
checked={vm.isLowPriority}
113114
Icon={ArrowDownIcon}
114115
label={_t("room_list|more_options|low_priority")}
115116
onSelect={vm.toggleLowPriority}
116117
onClick={(evt) => evt.stopPropagation()}
117-
hideChevron={true}
118118
/>
119119
{vm.canInvite && (
120120
<MenuItem

test/unit-tests/components/views/rooms/RoomListPanel/RoomListItemMenuView-test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ describe("<RoomListItemMenuView />", () => {
2828
showMoreOptionsMenu: true,
2929
showNotificationMenu: true,
3030
isFavourite: true,
31+
isLowPriority: true,
3132
canInvite: true,
3233
canMarkAsUnread: true,
3334
canMarkAsRead: true,
@@ -114,7 +115,7 @@ describe("<RoomListItemMenuView />", () => {
114115
expect(defaultValue.toggleFavorite).toHaveBeenCalled();
115116

116117
await user.click(openMenu);
117-
await user.click(screen.getByRole("menuitem", { name: "Low priority" }));
118+
await user.click(screen.getByRole("menuitemcheckbox", { name: "Low priority" }));
118119
expect(defaultValue.toggleLowPriority).toHaveBeenCalled();
119120

120121
await user.click(openMenu);

0 commit comments

Comments
 (0)