Use semantic headings in space preferences (#11021)

* remove mx_SettingsTab_heading style

* use semantic headings in space preferences dialog

* remove unused settings style: mx_SettingsTab_subheading
This commit is contained in:
Kerry 2023-06-01 09:22:03 +12:00 committed by GitHub
parent 176daad49f
commit e9a8f4a11d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 69 deletions

View file

@ -31,16 +31,6 @@ limitations under the License.
.mx_SettingsTab { .mx_SettingsTab {
min-width: unset; min-width: unset;
.mx_SettingsTab_section {
font-size: $font-15px;
line-height: $font-24px;
.mx_Checkbox + p {
color: $secondary-content;
margin: 0 20px 0 24px;
}
}
} }
} }
} }

View file

@ -37,12 +37,6 @@ limitations under the License.
margin-bottom: 20px; margin-bottom: 20px;
} }
& + .mx_SettingsTab_subheading {
border-top: 1px solid $menu-border-color;
margin-top: 0;
padding-top: 24px;
}
.mx_StyledRadioButton { .mx_StyledRadioButton {
margin-top: 8px; margin-top: 8px;
margin-bottom: 4px; margin-bottom: 4px;

View file

@ -15,7 +15,6 @@ limitations under the License.
*/ */
.mx_SettingsTab { .mx_SettingsTab {
--SettingsTab_heading_nth_child-margin-top: 30px; /* TODO: Use a spacing variable */
--SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */ --SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */
color: $primary-content; color: $primary-content;
@ -47,29 +46,6 @@ limitations under the License.
color: $alert; color: $alert;
} }
.mx_SettingsTab_heading {
font-size: $font-20px;
font-weight: var(--font-semi-bold);
color: $primary-content;
margin-top: 10px; /* TODO: Use a spacing variable */
margin-bottom: 10px; /* TODO: Use a spacing variable */
margin-right: 100px; /* TODO: Use a spacing variable */
&:nth-child(n + 2) {
margin-top: var(--SettingsTab_heading_nth_child-margin-top);
}
}
.mx_SettingsTab_subheading {
font-size: $font-16px;
display: block;
font-weight: var(--font-semi-bold);
color: $primary-content;
margin-top: $spacing-12;
margin-bottom: 10px; /* TODO: Use a spacing variable */
margin-right: 100px; /* TODO: Use a spacing variable */
}
.mx_SettingsTab_subsectionText { .mx_SettingsTab_subsectionText {
color: $secondary-content; color: $secondary-content;
font-size: $font-14px; font-size: $font-14px;

View file

@ -27,6 +27,9 @@ import { SettingLevel } from "../../../settings/SettingLevel";
import RoomName from "../elements/RoomName"; import RoomName from "../elements/RoomName";
import { SpacePreferenceTab } from "../../../dispatcher/payloads/OpenSpacePreferencesPayload"; import { SpacePreferenceTab } from "../../../dispatcher/payloads/OpenSpacePreferencesPayload";
import { NonEmptyArray } from "../../../@types/common"; import { NonEmptyArray } from "../../../@types/common";
import SettingsTab from "../settings/tabs/SettingsTab";
import { SettingsSection } from "../settings/shared/SettingsSection";
import SettingsSubsection, { SettingsSubsectionText } from "../settings/shared/SettingsSubsection";
interface IProps { interface IProps {
space: Room; space: Room;
@ -38,34 +41,34 @@ const SpacePreferencesAppearanceTab: React.FC<Pick<IProps, "space">> = ({ space
const showPeople = useSettingValue("Spaces.showPeopleInSpace", space.roomId); const showPeople = useSettingValue("Spaces.showPeopleInSpace", space.roomId);
return ( return (
<div className="mx_SettingsTab"> <SettingsTab>
<div className="mx_SettingsTab_heading">{_t("Sections to show")}</div> <SettingsSection heading={_t("Sections to show")}>
<SettingsSubsection>
<div className="mx_SettingsTab_section"> <StyledCheckbox
<StyledCheckbox checked={!!showPeople}
checked={!!showPeople} onChange={(e: ChangeEvent<HTMLInputElement>) => {
onChange={(e: ChangeEvent<HTMLInputElement>) => { SettingsStore.setValue(
SettingsStore.setValue( "Spaces.showPeopleInSpace",
"Spaces.showPeopleInSpace", space.roomId,
space.roomId, SettingLevel.ROOM_ACCOUNT,
SettingLevel.ROOM_ACCOUNT, !showPeople,
!showPeople, );
); }}
}} >
> {_t("People")}
{_t("People")} </StyledCheckbox>
</StyledCheckbox> <SettingsSubsectionText>
<p> {_t(
{_t( "This groups your chats with members of this space. " +
"This groups your chats with members of this space. " + "Turning this off will hide those chats from your view of %(spaceName)s.",
"Turning this off will hide those chats from your view of %(spaceName)s.", {
{ spaceName: space.name,
spaceName: space.name, },
}, )}
)} </SettingsSubsectionText>
</p> </SettingsSubsection>
</div> </SettingsSection>
</div> </SettingsTab>
); );
}; };

View file

@ -75,7 +75,6 @@ describe("<UserSettingsDialog />", () => {
const getActiveTabLabel = (container: Element) => const getActiveTabLabel = (container: Element) =>
container.querySelector(".mx_TabbedView_tabLabel_active")?.textContent; container.querySelector(".mx_TabbedView_tabLabel_active")?.textContent;
const getActiveTabHeading = (container: Element) => const getActiveTabHeading = (container: Element) =>
container.querySelector(".mx_SettingsTab_heading")?.textContent ||
container.querySelector(".mx_SettingsSection .mx_Heading_h2")?.textContent; container.querySelector(".mx_SettingsSection .mx_Heading_h2")?.textContent;
it("should render general settings tab when no initialTabId", () => { it("should render general settings tab when no initialTabId", () => {