Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 6669cb7

Browse files
Update dependency @vector-im/compound-web to v0.9.4 (#11891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <[email protected]>
1 parent 4f19356 commit 6669cb7

File tree

11 files changed

+288
-86
lines changed

11 files changed

+288
-86
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
"@sentry/browser": "^7.0.0",
7777
"@testing-library/react-hooks": "^8.0.1",
7878
"@vector-im/compound-design-tokens": "^0.1.0",
79-
"@vector-im/compound-web": "0.8.1",
79+
"@vector-im/compound-web": "0.9.4",
8080
"@zxcvbn-ts/core": "^3.0.4",
8181
"@zxcvbn-ts/language-common": "^3.0.4",
8282
"@zxcvbn-ts/language-en": "^3.0.2",

src/PosthogTrackers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export default class PosthogTrackers {
9191
this.trackPage();
9292
}
9393

94-
public static trackInteraction(name: InteractionName, ev?: SyntheticEvent, index?: number): void {
94+
public static trackInteraction(name: InteractionName, ev?: SyntheticEvent | Event, index?: number): void {
9595
let interactionType: InteractionEvent["interactionType"];
9696
if (ev?.type === "click") {
9797
interactionType = "Pointer";

src/components/views/right_panel/RoomSummaryCard.tsx

+14-12
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import { useIsEncrypted } from "../../../hooks/useIsEncrypted";
3939
import BaseCard, { Group } from "./BaseCard";
4040
import { _t } from "../../../languageHandler";
4141
import RoomAvatar from "../avatars/RoomAvatar";
42-
import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton";
42+
import AccessibleButton from "../elements/AccessibleButton";
4343
import defaultDispatcher from "../../../dispatcher/dispatcher";
4444
import { RightPanelPhases } from "../../../stores/right-panel/RightPanelStorePhases";
4545
import Modal from "../../../Modal";
@@ -268,7 +268,7 @@ const onRoomPinsClick = (): void => {
268268
RightPanelStore.instance.pushCard({ phase: RightPanelPhases.PinnedMessages }, true);
269269
};
270270

271-
const onRoomSettingsClick = (ev: ButtonEvent): void => {
271+
const onRoomSettingsClick = (ev: Event): void => {
272272
defaultDispatcher.dispatch({ action: "open_room_settings" });
273273
PosthogTrackers.trackInteraction("WebRightPanelRoomInfoSettingsButton", ev);
274274
};
@@ -303,7 +303,7 @@ const RoomSummaryCard: React.FC<IProps> = ({ room, permalinkCreator, onClose, on
303303
});
304304
};
305305

306-
const onRoomMembersClick = (ev: ButtonEvent): void => {
306+
const onRoomMembersClick = (ev: Event): void => {
307307
RightPanelStore.instance.pushCard({ phase: RightPanelPhases.RoomMemberList }, true);
308308
PosthogTrackers.trackInteraction("WebRightPanelRoomInfoPeopleButton", ev);
309309
};
@@ -433,50 +433,52 @@ const RoomSummaryCard: React.FC<IProps> = ({ room, permalinkCreator, onClose, on
433433
label={_t("room|context_menu|favourite")}
434434
checked={isFavorite}
435435
onChange={() => tagRoom(room, DefaultTagID.Favourite)}
436+
// XXX: https://github.com/element-hq/compound/issues/288
437+
onSelect={() => {}}
436438
/>
437439
<MenuItem
438440
Icon={UserAddIcon}
439441
label={_t("action|invite")}
440442
disabled={!canInviteTo(room)}
441-
onClick={() => inviteToRoom(room)}
443+
onSelect={() => inviteToRoom(room)}
442444
/>
443-
<MenuItem Icon={LinkIcon} label={_t("action|copy_link")} onClick={onShareRoomClick} />
444-
<MenuItem Icon={SettingsIcon} label={_t("common|settings")} onClick={onRoomSettingsClick} />
445+
<MenuItem Icon={LinkIcon} label={_t("action|copy_link")} onSelect={onShareRoomClick} />
446+
<MenuItem Icon={SettingsIcon} label={_t("common|settings")} onSelect={onRoomSettingsClick} />
445447

446448
<Separator />
447449
<MenuItem
448450
// this icon matches the legacy implementation
449451
// and is a short term solution until legacy room header is removed
450452
Icon={UserProfileSolidIcon}
451453
label={_t("common|people")}
452-
onClick={onRoomMembersClick}
454+
onSelect={onRoomMembersClick}
453455
/>
454456
{!isVideoRoom && (
455457
<>
456-
<MenuItem Icon={FilesIcon} label={_t("right_panel|files_button")} onClick={onRoomFilesClick} />
458+
<MenuItem Icon={FilesIcon} label={_t("right_panel|files_button")} onSelect={onRoomFilesClick} />
457459
<MenuItem
458460
Icon={PollsIcon}
459461
label={_t("right_panel|polls_button")}
460-
onClick={onRoomPollHistoryClick}
462+
onSelect={onRoomPollHistoryClick}
461463
/>
462464
{pinningEnabled && (
463465
<MenuItem
464466
Icon={PinIcon}
465467
label={_t("right_panel|pinned_messages_button")}
466-
onClick={onRoomPinsClick}
468+
onSelect={onRoomPinsClick}
467469
>
468470
<Text as="span" size="sm">
469471
{pinCount}
470472
</Text>
471473
</MenuItem>
472474
)}
473-
<MenuItem Icon={ExportArchiveIcon} label={_t("export_chat|title")} onClick={onRoomExportClick} />
475+
<MenuItem Icon={ExportArchiveIcon} label={_t("export_chat|title")} onSelect={onRoomExportClick} />
474476
</>
475477
)}
476478

477479
<Separator />
478480

479-
<MenuItem Icon={LeaveIcon} kind="critical" label={_t("action|leave_room")} onClick={onLeaveRoomClick} />
481+
<MenuItem Icon={LeaveIcon} kind="critical" label={_t("action|leave_room")} onSelect={onLeaveRoomClick} />
480482

481483
{SettingsStore.getValue(UIFeature.Widgets) &&
482484
!isVideoRoom &&

src/utils/exportUtils/exportCSS.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function mutateCssText(css: string): string {
3333
}
3434

3535
function isLightTheme(sheet: CSSStyleSheet): boolean {
36-
return (<HTMLStyleElement>sheet.ownerNode).dataset.mxTheme?.toLowerCase() === "light";
36+
return (<HTMLStyleElement>sheet.ownerNode)?.dataset.mxTheme?.toLowerCase() === "light";
3737
}
3838

3939
async function getRulesFromCssFile(path: string): Promise<CSSStyleSheet> {

test/components/views/right_panel/RoomSummaryCard-test.tsx

+24
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ import { PollHistoryDialog } from "../../../../src/components/views/dialogs/Poll
3434
import { RoomPermalinkCreator } from "../../../../src/utils/permalinks/Permalinks";
3535
import { _t } from "../../../../src/languageHandler";
3636
import SettingsStore from "../../../../src/settings/SettingsStore";
37+
import { tagRoom } from "../../../../src/utils/room/tagRoom";
38+
import { DefaultTagID } from "../../../../src/stores/room-list/models";
39+
40+
jest.mock("../../../../src/utils/room/tagRoom");
3741

3842
describe("<RoomSummaryCard />", () => {
3943
const userId = "@alice:domain.org";
@@ -63,6 +67,9 @@ describe("<RoomSummaryCard />", () => {
6367
isRoomEncrypted: jest.fn(),
6468
getOrCreateFilter: jest.fn().mockResolvedValue({ filterId: 1 }),
6569
getRoom: jest.fn(),
70+
isGuest: jest.fn().mockReturnValue(false),
71+
deleteRoomTag: jest.fn().mockResolvedValue({}),
72+
setRoomTag: jest.fn().mockResolvedValue({}),
6673
});
6774
room = new Room(roomId, mockClient, userId);
6875
const roomCreateEvent = new MatrixEvent({
@@ -76,6 +83,7 @@ describe("<RoomSummaryCard />", () => {
7683
state_key: "",
7784
});
7885
room.currentState.setStateEvents([roomCreateEvent]);
86+
room.updateMyMembership("join");
7987

8088
jest.spyOn(Modal, "createDialog");
8189
jest.spyOn(RightPanelStore.instance, "pushCard");
@@ -133,6 +141,22 @@ describe("<RoomSummaryCard />", () => {
133141
expect(Modal.createDialog).toHaveBeenCalledWith(ShareDialog, { target: room });
134142
});
135143

144+
it("opens invite dialog on button click", () => {
145+
const { getByText } = getComponent();
146+
147+
fireEvent.click(getByText(_t("action|invite")));
148+
149+
expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: "view_invite", roomId: room.roomId });
150+
});
151+
152+
it("fires favourite dispatch on button click", () => {
153+
const { getByText } = getComponent();
154+
155+
fireEvent.click(getByText(_t("room|context_menu|favourite")));
156+
157+
expect(tagRoom).toHaveBeenCalledWith(room, DefaultTagID.Favourite);
158+
});
159+
136160
it("opens room settings on button click", () => {
137161
const { getByText } = getComponent();
138162

0 commit comments

Comments
 (0)