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

Commit

Permalink
Close RA when TAC button is closed
Browse files Browse the repository at this point in the history
  • Loading branch information
florianduros committed Apr 30, 2024
1 parent c2e6325 commit f10a718
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import { KeyBindingAction } from "../../../../accessibility/KeyboardShortcuts";
import { ReleaseAnnouncement } from "../../../structures/ReleaseAnnouncement";
import { useIsReleaseAnnouncementOpen } from "../../../../hooks/useIsReleaseAnnouncementOpen";
import { useSettingValue } from "../../../../hooks/useSettings";
import { ReleaseAnnouncementStore } from "../../../../stores/ReleaseAnnouncementStore";

interface ThreadsActivityCentreProps {
/**
Expand Down Expand Up @@ -84,6 +85,11 @@ export function ThreadsActivityCentre({ displayButtonLabel }: ThreadsActivityCen
<ThreadsActivityCentreButton
displayLabel={displayButtonLabel}
notificationLevel={roomsAndNotifications.greatestNotificationLevel}
onClick={async () => {
// Open the TAC after the release announcement closing
setOpen(true);
await ReleaseAnnouncementStore.instance.nextReleaseAnnouncement();
}}
/>
</ReleaseAnnouncement>
) : (
Expand Down
10 changes: 10 additions & 0 deletions test/components/views/spaces/ThreadsActivityCentre-test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,16 @@ describe("ThreadsActivityCentre", () => {
expect(document.body).toMatchSnapshot();
});

it("should close the release announcement when the TAC button is clicked", async () => {
// Enable release announcement
await SettingsStore.setValue("feature_release_announcement", null, SettingLevel.DEVICE, true);

renderTAC();
await userEvent.click(getTACButton());
expect(getTACMenu()).toBeInTheDocument();
expect(document.body).toMatchSnapshot();

Check warning on line 128 in test/components/views/spaces/ThreadsActivityCentre-test.tsx

View workflow job for this annotation

GitHub Actions / Jest (1)

RETRY 1: ThreadsActivityCentre › should close the release announcement when the TAC button is clicked

expect(received).toMatchSnapshot() Snapshot name: `ThreadsActivityCentre should close the release announcement when the TAC button is clicked 1` - Snapshot - 4 + Received + 4 @@ -15,18 +15,18 @@ > <div class="mx_ThreadsActivityCentre_container" > <button - aria-controls="radix-1" + aria-controls="radix-3" aria-disabled="false" aria-expanded="true" aria-haspopup="menu" aria-label="Threads" class="_icon-button_16nk7_17 mx_ThreadsActivityCentreButton" data-state="closed" - id="radix-0" + id="radix-2" role="button" style="--cpd-icon-button-size: 32px;" tabindex="0" type="button" > @@ -45,20 +45,20 @@ data-radix-popper-content-wrapper="" dir="ltr" style="position: fixed; left: 0px; top: 0px; transform: translate(0px, -8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;" > <div - aria-labelledby="radix-0" + aria-labelledby="radix-2" aria-orientation="vertical" class="_menu_1x5h1_17" data-align="start" data-orientation="vertical" data-radix-menu-content="" data-side="top" data-state="open" dir="ltr" - id="radix-1" + id="radix-3" role="menu" style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;" tabindex="-1" > <h3 at Object.toMatchSnapshot (test/components/views/spaces/ThreadsActivityCentre-test.tsx:128:31)

Check warning on line 128 in test/components/views/spaces/ThreadsActivityCentre-test.tsx

View workflow job for this annotation

GitHub Actions / Jest (1)

RETRY 2: ThreadsActivityCentre › should close the release announcement when the TAC button is clicked

expect(received).toMatchSnapshot() Snapshot name: `ThreadsActivityCentre should close the release announcement when the TAC button is clicked 1` - Snapshot - 7 + Received + 52 @@ -15,25 +15,27 @@ > <div class="mx_ThreadsActivityCentre_container" > <button - aria-controls="radix-1" + aria-controls="radix-33" aria-disabled="false" aria-expanded="true" aria-haspopup="menu" aria-label="Threads" class="_icon-button_16nk7_17 mx_ThreadsActivityCentreButton" + data-indicator="critical" data-state="closed" - id="radix-0" + id="radix-32" role="button" style="--cpd-icon-button-size: 32px;" tabindex="0" type="button" > <div class="_indicator-icon_133tf_26" + data-indicator="critical" style="--cpd-icon-button-size: 100%;" > <div class="mx_ThreadsActivityCentreButton_Icon" /> @@ -45,38 +47,81 @@ data-radix-popper-content-wrapper="" dir="ltr" style="position: fixed; left: 0px; top: 0px; transform: translate(0px, -8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;" > <div - aria-labelledby="radix-0" + aria-labelledby="radix-32" aria-orientation="vertical" class="_menu_1x5h1_17" data-align="start" data-orientation="vertical" data-radix-menu-content="" data-side="top" data-state="open" dir="ltr" - id="radix-1" + id="radix-33" role="menu" style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;" tabindex="-1" > <h3 class="_typography_yh5dq_162 _font-body-sm-semibold_yh5dq_45 _title_1x5h1_83" - id=":r1:" + id=":r11:" > Threads activity </h3> <div class="mx_ThreadsActivityCentre_rows" > + <button + class="mx_ThreadsActivityCentreRow _item_1gwvj_17 _interactive_1gwvj_36" + data-kind="primary" + data-orientation="vertical" + data-radix-collection-item="" + role="menuitem" + tabindex="-1" + > <div - class="mx_ThreadsActivityCentre_emptyCaption" + class="_icon_1gwvj_44" + > + <span + class="_avatar_mcap2_17 mx_BaseAvatar _avatar-imageless_mcap2_61" + data-color="3" + data-testid="avatar-img" + data-type="round" + role="presentation" + style="--cpd-avatar-size: 32px;" + > + T + </span> + </div> + <span + class="_typography_yh5dq_162 _font-body-md-medium_yh5dq_69 _label_1gwvj_53" + > + This is a real highlight + </span> + <svg + aria-hidden="true" + class="_nav-hint_1gwvj_60" + fill="currentColor" + height="24" + viewBox="8 0 8 24" + width="8" + xmlns="http://www.w3.org/2000/svg" > - You don't have rooms with thread notifications yet. + <path + d="M8.7 17.3a.948.948 0 0 1-.275-.7.95.95 0 0 1 .275-.7l3.9-3.9-3.9-3.9a.948.948 0 0 1-.275-.7.95.95 0 0 1 .275-.7.948.948 0 0 1 .7-.275.95.95 0 0 1 .7.275l4.6 4.6c.1.1.17.208.213.325.041.117.062.242.062.375s-.02.2

Check failure on line 128 in test/components/views/spaces/ThreadsActivityCentre-test.tsx

View workflow job for this annotation

GitHub Actions / Jest (1)

ThreadsActivityCentre › should close the release announcement when the TAC button is clicked

expect(received).toMatchSnapshot() Snapshot name: `ThreadsActivityCentre should close the release announcement when the TAC button is clicked 1` - Snapshot - 7 + Received + 52 @@ -15,25 +15,27 @@ > <div class="mx_ThreadsActivityCentre_container" > <button - aria-controls="radix-1" + aria-controls="radix-36" aria-disabled="false" aria-expanded="true" aria-haspopup="menu" aria-label="Threads" class="_icon-button_16nk7_17 mx_ThreadsActivityCentreButton" + data-indicator="critical" data-state="closed" - id="radix-0" + id="radix-35" role="button" style="--cpd-icon-button-size: 32px;" tabindex="0" type="button" > <div class="_indicator-icon_133tf_26" + data-indicator="critical" style="--cpd-icon-button-size: 100%;" > <div class="mx_ThreadsActivityCentreButton_Icon" /> @@ -45,38 +47,81 @@ data-radix-popper-content-wrapper="" dir="ltr" style="position: fixed; left: 0px; top: 0px; transform: translate(0px, -8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;" > <div - aria-labelledby="radix-0" + aria-labelledby="radix-35" aria-orientation="vertical" class="_menu_1x5h1_17" data-align="start" data-orientation="vertical" data-radix-menu-content="" data-side="top" data-state="open" dir="ltr" - id="radix-1" + id="radix-36" role="menu" style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;" tabindex="-1" > <h3 class="_typography_yh5dq_162 _font-body-sm-semibold_yh5dq_45 _title_1x5h1_83" - id=":r1:" + id=":r12:" > Threads activity </h3> <div class="mx_ThreadsActivityCentre_rows" > + <button + class="mx_ThreadsActivityCentreRow _item_1gwvj_17 _interactive_1gwvj_36" + data-kind="primary" + data-orientation="vertical" + data-radix-collection-item="" + role="menuitem" + tabindex="-1" + > <div - class="mx_ThreadsActivityCentre_emptyCaption" + class="_icon_1gwvj_44" + > + <span + class="_avatar_mcap2_17 mx_BaseAvatar _avatar-imageless_mcap2_61" + data-color="3" + data-testid="avatar-img" + data-type="round" + role="presentation" + style="--cpd-avatar-size: 32px;" + > + T + </span> + </div> + <span + class="_typography_yh5dq_162 _font-body-md-medium_yh5dq_69 _label_1gwvj_53" + > + This is a real highlight + </span> + <svg + aria-hidden="true" + class="_nav-hint_1gwvj_60" + fill="currentColor" + height="24" + viewBox="8 0 8 24" + width="8" + xmlns="http://www.w3.org/2000/svg" > - You don't have rooms with thread notifications yet. + <path + d="M8.7 17.3a.948.948 0 0 1-.275-.7.95.95 0 0 1 .275-.7l3.9-3.9-3.9-3.9a.948.948 0 0 1-.275-.7.95.95 0 0 1 .275-.7.948.948 0 0 1 .7-.275.95.95 0 0 1 .7.275l4.6 4.6c.1.1.17.208.213.325.041.117.062.242.062.375s-.02.2
});

it("should render the threads activity centre button and the display label", async () => {
renderTAC({ displayButtonLabel: true });
expect(getTACButton()).toBeInTheDocument();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,97 @@ exports[`ThreadsActivityCentre renders notifications matching the snapshot 1`] =
</div>
`;

exports[`ThreadsActivityCentre should close the release announcement when the TAC button is clicked 1`] = `
<body
data-scroll-locked=""
style="pointer-events: none;"
>
<span
aria-hidden="true"
data-aria-hidden="true"
data-radix-focus-guard=""
style="outline: none; opacity: 0; position: fixed; pointer-events: none;"
tabindex="0"
/>
<div
aria-hidden="true"
data-aria-hidden="true"
>
<div
class="mx_ThreadsActivityCentre_container"
>
<button
aria-controls="radix-1"
aria-disabled="false"
aria-expanded="true"
aria-haspopup="menu"
aria-label="Threads"
class="_icon-button_16nk7_17 mx_ThreadsActivityCentreButton"
data-state="closed"
id="radix-0"
role="button"
style="--cpd-icon-button-size: 32px;"
tabindex="0"
type="button"
>
<div
class="_indicator-icon_133tf_26"
style="--cpd-icon-button-size: 100%;"
>
<div
class="mx_ThreadsActivityCentreButton_Icon"
/>
</div>
</button>
</div>
</div>
<div
data-radix-popper-content-wrapper=""
dir="ltr"
style="position: fixed; left: 0px; top: 0px; transform: translate(0px, -8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;"
>
<div
aria-labelledby="radix-0"
aria-orientation="vertical"
class="_menu_1x5h1_17"
data-align="start"
data-orientation="vertical"
data-radix-menu-content=""
data-side="top"
data-state="open"
dir="ltr"
id="radix-1"
role="menu"
style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;"
tabindex="-1"
>
<h3
class="_typography_yh5dq_162 _font-body-sm-semibold_yh5dq_45 _title_1x5h1_83"
id=":r1:"
>
Threads activity
</h3>
<div
class="mx_ThreadsActivityCentre_rows"
>
<div
class="mx_ThreadsActivityCentre_emptyCaption"
>
You don't have rooms with thread notifications yet.
</div>
</div>
</div>
</div>
<span
aria-hidden="true"
data-aria-hidden="true"
data-radix-focus-guard=""
style="outline: none; opacity: 0; position: fixed; pointer-events: none;"
tabindex="0"
/>
</body>
`;

exports[`ThreadsActivityCentre should match snapshot when empty 1`] = `
<div
aria-labelledby="radix-20"
Expand Down

0 comments on commit f10a718

Please sign in to comment.