blocks, (See TextualBody) + .mx_EventTile_button { + position: absolute; + top: $spacing-8; + right: $spacing-8; + width: 19px; + height: 19px; + visibility: hidden; + background-color: $message-action-bar-fg-color; + + &.mx_EventTile_buttonBottom { + top: 33px; + } + + &.mx_EventTile_collapseButton, + &.mx_EventTile_expandButton { + mask-size: 75%; + } + } + } } .mx_EventTile_lineNumbers { @@ -558,11 +625,6 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss } } -.mx_EventTile:hover .mx_EventTile_body pre, -.mx_EventTile.focus-visible:focus-within .mx_EventTile_body pre { - border: 1px solid $tertiary-content; -} - .mx_EventTile_button { display: inline-block; cursor: pointer; @@ -586,44 +648,6 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss mask-image: url("$(res)/img/element-icons/maximise-expand.svg"); } -.mx_EventTile_body .mx_EventTile_pre_container { - // For correct positioning of _copyButton (See TextualBody) - position: relative; - - &:focus-within, - &:hover { - .mx_EventTile_button { - visibility: visible; - } - } - - .mx_EventTile_collapsedCodeBlock { - max-height: 30vh; - } - - // Inserted adjacent toblocks, (See TextualBody) - .mx_EventTile_button { - position: absolute; - top: 8px; - right: 8px; - width: 19px; - height: 19px; - visibility: hidden; - background-color: $message-action-bar-fg-color; - - &.mx_EventTile_buttonBottom { - top: 33px; - } - - &.mx_EventTile_collapseButton, - &.mx_EventTile_expandButton { - mask-size: 75%; - } - } -} - -/* end of overrides */ - .mx_EventTile_keyRequestInfo { font-size: $font-12px; @@ -665,10 +689,10 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss .mx_EventTile_line { padding-left: 0; margin-right: 0; - } - .mx_EventTile_line span { - padding: 4px 8px; + span { + padding: $spacing-4 $spacing-8; + } } a { @@ -693,20 +717,6 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss } } -@media only screen and (max-width: 480px) { - - .mx_EventTile_line, - .mx_EventTile_reply { - padding-left: 0; - margin-right: 0; - } - - .mx_EventTile_content { - margin-top: 10px; - margin-right: 0; - } -} - .mx_ThreadPanel_replies::before, .mx_ThreadSummaryIcon::before, .mx_ThreadSummary::before { @@ -740,6 +750,7 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss $borderRadius: $border-radius-8px; $padding: $spacing-8; $hrHeight: 1px; + $notification-dot-size: 8px; // notification dot next to the timestamp margin: calc(var(--topOffset) + $hrHeight) 0 var(--topOffset); // include the height of horizontal line padding: $padding $spacing-24 $padding $padding; @@ -759,29 +770,34 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss box-shadow: none; // don't show the verification left stroke in the thread list } - &::after { + &::after, + &::before { content: ""; position: absolute; - left: calc(var(--leftOffset) + $padding); - right: $spacing-24; // 24px: 32px - 8px (right padding) + } + + &::after { + $inset-block-start: auto; + $inset-inline-end: calc(32px - $padding); + $inset-block-end: calc(-1 * var(--topOffset) - $hrHeight); // exclude the height of horizontal line + $inset-inline-start: calc(var(--leftOffset) + $padding); + inset: $inset-block-start $inset-inline-end $inset-block-end $inset-inline-start; + height: $hrHeight; - bottom: calc(-1 * var(--topOffset) - $hrHeight); // exclude the height of horizontal line background-color: $quinary-content; pointer-events: none; // disable the message action bar on hover } &::before { - content: ""; - position: absolute; inset: 0; } // Display notification dot &[data-notification]::before { - width: 8px; - height: 8px; + width: $notification-dot-size; + height: $notification-dot-size; border-radius: 50%; - inset: 14px 8px auto auto; // 14px: align the dot with the timestamp row + inset: 14px $spacing-8 auto auto; // 14px: align the dot with the timestamp row } &[data-notification=total]::before { @@ -805,36 +821,47 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss } .mx_EventTile_avatar { - top: $padding; - left: $padding; + inset: $padding auto auto $padding; } .mx_DisambiguatedProfile { - margin-right: 12px; + margin-inline: 0 $spacing-12; display: inline-flex; flex: 1; - } - .mx_DisambiguatedProfile_displayName, - .mx_DisambiguatedProfile_mxid { - display: block; - overflow: hidden; - text-overflow: ellipsis; - } + .mx_DisambiguatedProfile_displayName, + .mx_DisambiguatedProfile_mxid { + display: block; + overflow: hidden; + text-overflow: ellipsis; + } - .mx_DisambiguatedProfile_displayName { - flex: none; - max-width: 100%; - } + .mx_DisambiguatedProfile_displayName { + flex: none; + max-width: 100%; + } - .mx_DisambiguatedProfile_mxid { - flex: 1; + .mx_DisambiguatedProfile_mxid { + flex: 1; + } } .mx_EventTile_line { width: 100%; box-sizing: border-box; - border-radius: $borderRadius !important; // override 4px + padding-bottom: 0; + + .mx_ThreadPanel_replies { + margin-top: $spacing-8; + display: flex; + align-items: center; + position: relative; + + .mx_ThreadPanel_replies_amount { + @mixin ThreadsAmount; + font-size: $font-12px; // Same font size as the counter on the main panel + } + } } .mx_DisambiguatedProfile, @@ -845,21 +872,23 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss .mx_MessageTimestamp { max-width: 80px; width: auto; + position: initial; } } +// For style rules of ThreadView, see _ThreadPanel.scss .mx_ThreadView { --ThreadView_group_spacing-start: 56px; // 56px: 64px - 8px (padding) --ThreadView_group_spacing-end: 8px; // same as padding - .mx_EventTile_roomName { - display: none; - } - .mx_EventTile { display: flex; flex-direction: column; + .mx_EventTile_roomName { + display: none; + } + .mx_EventTile_line { padding-top: var(--BaseCard_EventTile_line-padding-block); padding-bottom: var(--BaseCard_EventTile_line-padding-block); @@ -878,9 +907,65 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss font-size: $font-10px; } + // handling for hidden events (e.g reactions) in the thread view + &.mx_EventTile_info { + padding-top: 0; + + .mx_EventTile_avatar { + position: absolute; + top: 1.5px; // Align with hidden event content + margin-top: 0; + margin-bottom: 0; + width: 14px; // avatar img size + height: 14px; // avatar img size + } + + .mx_ViewSourceEvent_toggle { + display: none; // hide the hidden event expand button, not enough space, view source can still be used + } + + &.mx_EventTile_selected .mx_EventTile_line, + .mx_EventTile_line { + $line-height: $font-12px; + + padding-inline-start: 0; + line-height: $line-height; + + .mx_EventTile_content, + .mx_RedactedBody { + width: auto; + margin-inline-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px); // 14px: avatar width, 6px: 20px - 14px + font-size: $line-height; + } + } + + &:not([data-layout=bubble]) { + .mx_MessageTimestamp { + top: 2px; // Align with avatar + } + + .mx_EventTile_avatar { + left: calc($MessageTimestamp_width + 14px - 4px); // 14px: avatar width, 4px: align with text + z-index: 9; // position above the hover styling + } + } + + &[data-layout=bubble] { + .mx_EventTile_avatar { + inset-inline-start: 0; + } + } + } + &:not([data-layout=bubble]) { padding-top: $spacing-16; + &:hover.mx_EventTile_verified.mx_EventTile_info .mx_EventTile_line, + &:hover.mx_EventTile_unverified.mx_EventTile_info .mx_EventTile_line, + &:hover.mx_EventTile_unknown.mx_EventTile_info .mx_EventTile_line { + padding-inline-start: 0; // Override + } + .mx_EventTile_line { padding-top: var(--BaseCard_EventTile_line-padding-block); padding-bottom: var(--BaseCard_EventTile_line-padding-block); @@ -894,8 +979,17 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss } &[data-layout=bubble] { - margin-inline-start: var(--BaseCard_EventTile-spacing-horizontal); - margin-inline-end: var(--BaseCard_EventTile-spacing-horizontal); + margin-inline-start: var(--BaseCard_EventTile-spacing-inline); + margin-inline-end: var(--BaseCard_EventTile-spacing-inline); + + &::before { + inset-inline: calc(-1 * var(--BaseCard_EventTile-spacing-inline)); + z-index: auto; // enable background color on hover + } + + .mx_ReactionsRow { + position: relative; // display on hover + } .mx_EventTile_line.mx_EventTile_mediaLine { padding-block: 0; @@ -907,77 +1001,175 @@ $threadInfoLineHeight: calc(2 * $font-12px); // See: _commons.scss align-items: flex-end; .mx_EventTile_line.mx_EventTile_mediaLine { - margin: 0 var(--EventBubbleTile_line-margin-inline-end) 0 0; // align with normal messages + margin: 0 var(--EventTile_bubble_line-margin-inline-end) 0 0; // align with normal messages } } } - } - .mx_EventTile[data-layout=group] { - width: 100%; - - .mx_EventTile_content, - .mx_HiddenBody, - .mx_RedactedBody, - .mx_UnknownBody, - .mx_MPollBody, - .mx_MLocationBody, - .mx_ReplyChain_wrapper, - .mx_ReactionsRow { - margin-inline-start: var(--ThreadView_group_spacing-start); - margin-inline-end: var(--ThreadView_group_spacing-end); + &[data-layout=group] { + width: 100%; .mx_EventTile_content, .mx_HiddenBody, .mx_RedactedBody, - .mx_MImageBody { - margin: 0; - } - } - - .mx_ReplyChain_wrapper { + .mx_UnknownBody, + .mx_MPollBody, .mx_MLocationBody, - .mx_UnknownBody { // Error message inside ReplyTile - margin-inline: unset; - } - } - - .mx_EventTile_mediaLine { - // such as MImageBody - > div, - > span { + .mx_ReplyChain_wrapper, + .mx_ReactionsRow { margin-inline-start: var(--ThreadView_group_spacing-start); margin-inline-end: var(--ThreadView_group_spacing-end); + + .mx_EventTile_content, + .mx_HiddenBody, + .mx_RedactedBody, + .mx_MImageBody { + margin: 0; + } } - // such as MAudioBody and MFileBody - > span { - display: block; // Apply the margin declarations to span element + .mx_ReplyChain_wrapper { + .mx_MLocationBody, + .mx_UnknownBody { // Error message inside ReplyTile + margin-inline: unset; + } } - } - .mx_MessageTimestamp { - top: 2px; // Align with mx_EventTile_content - } + .mx_EventTile_mediaLine { + // such as MImageBody + > div, + > span { + margin-inline-start: var(--ThreadView_group_spacing-start); + margin-inline-end: var(--ThreadView_group_spacing-end); + } - .mx_EventTile_senderDetails { - display: flex; - align-items: center; - gap: $spacing-16; // gap between the avatar and the sender ID - padding-inline-start: $spacing-8; + // such as MAudioBody and MFileBody + > span { + display: block; // Apply the margin declarations to span element + } + } - a { - flex: 1; - min-width: unset; - max-width: 100%; + .mx_MessageTimestamp { + top: 2px; // Align with mx_EventTile_content + } + + .mx_EventTile_senderDetails { display: flex; align-items: center; + gap: $spacing-16; // gap between the avatar and the sender ID + padding-inline-start: $spacing-8; - .mx_DisambiguatedProfile { - margin-left: 8px; + a { flex: 1; + min-width: unset; + max-width: 100%; + display: flex; + align-items: center; + + .mx_DisambiguatedProfile { + margin-left: 8px; + flex: 1; + } + } + } + } + } + + .mx_GenericEventListSummary { + &:not([data-layout=bubble]) > .mx_EventTile_line { + padding-inline-start: var(--ThreadView_group_spacing-start); // align summary text with message text + padding-inline-end: var(--ThreadView_group_spacing-end); // align summary text with message text + } + } +} + +// Cascading - compact modern layout on the main timeline and the right panel +.mx_MatrixChat_useCompactLayout { + .mx_EventTile { + // Override :not([data-layout="bubble"]) + &[data-layout=group] { + padding-top: $spacing-4; + + &.mx_EventTile_info { + padding-top: 0; // same as the padding for non-compact .mx_EventTile.mx_EventTile_info + font-size: $font-13px; + + .mx_EventTile_avatar { + top: $spacing-4; + } + + .mx_EventTile_line, + .mx_EventTile_reply { + line-height: $font-20px; + } + } + + &.mx_EventTile_emote { + padding-top: $spacing-8; // add a bit more space for emotes so that avatars don't collide + + &.mx_EventTile_continuation { + padding-top: 0; + + .mx_EventTile_line, + .mx_EventTile_reply { + padding-top: 0; + padding-bottom: 0; + } + } + + .mx_EventTile_avatar { + top: 2px; + } + + .mx_EventTile_line, + .mx_EventTile_reply { + padding-top: 0; + padding-bottom: 1px; + } + } + + .mx_EventTile_avatar { + top: 2px; + } + + .mx_EventTile_line, + .mx_EventTile_reply { + padding-top: 0; + padding-bottom: 0; + } + + .mx_EventTile_e2eIcon { + top: 3px; + } + + .mx_DisambiguatedProfile { + font-size: $font-13px; + } + + .mx_ReadReceiptGroup { + // This aligns the avatar with the last line of the + // message. We want to move it one line up - 2rem + top: -2rem; + } + + .mx_EventTile_content .markdown-body { + p, + ul, + ol, + dl, + blockquote, + pre, + table { + margin-bottom: $spacing-4; // 1/4 of the non-compact margin-bottom } } } } } + +// Media query for mobile UI +@media only screen and (max-width: 480px) { + .mx_EventTile_content { + margin-right: 0; + } +} diff --git a/res/css/views/rooms/_GroupLayout.scss b/res/css/views/rooms/_GroupLayout.scss deleted file mode 100644 index 28ba80b3895..00000000000 --- a/res/css/views/rooms/_GroupLayout.scss +++ /dev/null @@ -1,134 +0,0 @@ -/* -Copyright 2015, 2016 OpenMarket Ltd -Copyright 2020 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -$left-gutter: 64px; - -.mx_GroupLayout { - --GroupLayout-EventTile-line-height: $font-22px; - - .mx_EventTile { - > .mx_DisambiguatedProfile { - line-height: $font-20px; - margin-left: $left-gutter; - } - - > .mx_EventTile_avatar { - position: absolute; - z-index: 9; - } - - .mx_MessageTimestamp { - position: absolute; // for modern layout - } - - .mx_EventTile_line, - .mx_EventTile_reply { - padding-top: 1px; - padding-bottom: 3px; - } - - .mx_EventTile_reply { - line-height: var(--GroupLayout-EventTile-line-height); - } - } - - li > .mx_DateSeparator { - margin-top: 9px; - } -} - -/* Compact layout overrides */ - -.mx_MatrixChat_useCompactLayout .mx_GroupLayout { - .mx_EventTile { - padding-top: 4px; - - .mx_EventTile_line, - .mx_EventTile_reply { - padding-top: 0; - padding-bottom: 0; - } - - &.mx_EventTile_info { - // same as the padding for non-compact .mx_EventTile.mx_EventTile_info - padding-top: 0px; - font-size: $font-13px; - - .mx_EventTile_line, - .mx_EventTile_reply { - line-height: $font-20px; - } - - .mx_EventTile_avatar { - top: 4px; - } - } - - .mx_DisambiguatedProfile { - font-size: $font-13px; - } - - &.mx_EventTile_emote { - // add a bit more space for emotes so that avatars don't collide - padding-top: 8px; - - .mx_EventTile_avatar { - top: 2px; - } - - .mx_EventTile_line, - .mx_EventTile_reply { - padding-top: 0px; - padding-bottom: 1px; - } - } - - &.mx_EventTile_emote.mx_EventTile_continuation { - padding-top: 0; - - .mx_EventTile_line, - .mx_EventTile_reply { - padding-top: 0px; - padding-bottom: 0px; - } - } - - .mx_EventTile_avatar { - top: 2px; - } - - .mx_EventTile_e2eIcon { - top: 3px; - } - - .mx_ReadReceiptGroup { - // This aligns the avatar with the last line of the - // message. We want to move it one line up - 2rem - top: -2rem; - } - - .mx_EventTile_content .markdown-body { - p, ul, ol, dl, blockquote, pre, table { - margin-bottom: 4px; // 1/4 of the non-compact margin-bottom - } - } - } - - .mx_RoomView_MessageList h2 { - margin-top: 6px; - } -} diff --git a/res/css/views/rooms/_IRCLayout.scss b/res/css/views/rooms/_IRCLayout.scss index d689d152348..36b06d8cc2c 100644 --- a/res/css/views/rooms/_IRCLayout.scss +++ b/res/css/views/rooms/_IRCLayout.scss @@ -39,11 +39,6 @@ $irc-line-height: $font-18px; margin-right: $right-padding; } - .mx_ThreadSummary { - margin-right: 0; - margin-left: 0; - } - > .mx_EventTile_msgOption { order: 5; flex-shrink: 0; @@ -63,11 +58,9 @@ $irc-line-height: $font-18px; min-width: 0; } - > .mx_EventTile_avatar { + .mx_EventTile_avatar { order: 1; position: relative; - top: 0; - left: 0; flex-shrink: 0; height: $irc-line-height; display: flex; @@ -87,12 +80,7 @@ $irc-line-height: $font-18px; text-align: right; } - > .mx_EventTile_e2eIcon { - position: absolute; - right: unset; - left: unset; - top: 0; - + .mx_EventTile_e2eIcon { padding: 0; flex-shrink: 0; @@ -120,15 +108,10 @@ $irc-line-height: $font-18px; .mx_EditMessageComposer_buttons { position: relative; } - - .mx_ReactionsRow { - padding-left: 0; - padding-right: 0; - } } .mx_EventTile_emote { - > .mx_EventTile_avatar { + .mx_EventTile_avatar { margin-left: calc(var(--name-width) + $icon-width + $right-padding); } } @@ -137,15 +120,8 @@ $irc-line-height: $font-18px; margin: 0; } - .mx_GenericEventListSummary { - > .mx_EventTile_line { - padding-left: calc(var(--name-width) + $icon-width + $MessageTimestamp_width + 3 * $right-padding); // 15 px of padding - } - - .mx_GenericEventListSummary_avatars { - padding: 0; - margin: 0 9px 0 0; - } + .mx_GenericEventListSummary > .mx_EventTile_line { + padding-left: calc(var(--name-width) + $icon-width + $MessageTimestamp_width + 3 * $right-padding); // 15 px of padding } .mx_EventTile.mx_EventTile_info { @@ -173,6 +149,7 @@ $irc-line-height: $font-18px; .mx_DisambiguatedProfile { width: var(--name-width); + margin-inline-end: 0; // override mx_EventTile > * display: flex; order: 2; flex-shrink: 0; @@ -217,7 +194,6 @@ $irc-line-height: $font-18px; margin: 0; .mx_DisambiguatedProfile { order: unset; - max-width: unset; width: unset; background: transparent; } diff --git a/res/css/views/rooms/_PinnedEventTile.scss b/res/css/views/rooms/_PinnedEventTile.scss index d31b1cbcda4..82de811b285 100644 --- a/res/css/views/rooms/_PinnedEventTile.scss +++ b/res/css/views/rooms/_PinnedEventTile.scss @@ -34,6 +34,14 @@ limitations under the License. border-top: 1px solid $menu-border-color; } + .mx_PinnedEventTile_senderAvatar, + .mx_PinnedEventTile_sender, + .mx_PinnedEventTile_unpinButton, + .mx_PinnedEventTile_message, + .mx_PinnedEventTile_footer { + min-width: 0; // Prevent a grid blowout + } + .mx_PinnedEventTile_senderAvatar { grid-area: avatar; } diff --git a/res/css/views/rooms/_ReadReceiptGroup.scss b/res/css/views/rooms/_ReadReceiptGroup.scss index a67ea4d4861..290d3da6829 100644 --- a/res/css/views/rooms/_ReadReceiptGroup.scss +++ b/res/css/views/rooms/_ReadReceiptGroup.scss @@ -15,11 +15,13 @@ limitations under the License. */ .mx_ReadReceiptGroup { + --ReadReceiptGroup_EventBubbleTile-spacing-end: 78px; + position: relative; display: inline-block; // This aligns the avatar with the last line of the // message. We want to move it one line up - // See .mx_GroupLayout .mx_EventTile .mx_EventTile_line in _GroupLayout.scss + // See .mx_EventTile[data-layout=group] .mx_EventTile_line in _EventTile.scss top: calc(-$font-22px - 3px); user-select: none; z-index: 1; diff --git a/res/css/views/rooms/_RoomHeader.scss b/res/css/views/rooms/_RoomHeader.scss index fbb65bbecb7..2a12121ef3c 100644 --- a/res/css/views/rooms/_RoomHeader.scss +++ b/res/css/views/rooms/_RoomHeader.scss @@ -44,6 +44,10 @@ limitations under the License. .mx_InviteOnlyIcon_large { margin: 0; } + + .mx_BetaCard_betaPill { + margin-right: $spacing-8; + } } .mx_RoomHeader_spinner { @@ -165,6 +169,12 @@ limitations under the License. display: -webkit-box; } +.mx_RoomHeader_topic .mx_Emoji { + // Undo font size increase to prevent vertical cropping and ensure the same size + // as in plain text emojis + font-size: inherit; +} + .mx_RoomHeader_avatar { flex: 0; margin: 0 6px 0 7px; diff --git a/res/css/views/rooms/_RoomPreviewCard.scss b/res/css/views/rooms/_RoomPreviewCard.scss index b561bf666df..3ee37e585d2 100644 --- a/res/css/views/rooms/_RoomPreviewCard.scss +++ b/res/css/views/rooms/_RoomPreviewCard.scss @@ -71,6 +71,12 @@ limitations under the License. color: $secondary-content; } } + + // XXX Remove this when video rooms leave beta + .mx_BetaCard_betaPill { + margin-inline-start: auto; + align-self: start; + } } .mx_RoomPreviewCard_avatar { diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss index 7d43155625e..9b57f54b8a4 100644 --- a/res/css/views/rooms/_RoomTile.scss +++ b/res/css/views/rooms/_RoomTile.scss @@ -89,40 +89,6 @@ limitations under the License. .mx_RoomTile_subtitle { line-height: $font-18px; color: $secondary-content; - - .mx_RoomTile_videoIndicator { - &::before { - display: inline-block; - vertical-align: text-bottom; - content: ''; - background-color: $secondary-content; - mask-image: url('$(res)/img/element-icons/call/video-call.svg'); - mask-size: 16px; - width: 16px; - height: 16px; - margin-right: 4px; - } - - &.mx_RoomTile_videoIndicator_active { - color: $accent; - - &::before { - background-color: $accent; - } - } - } - - .mx_RoomTile_videoParticipants::before { - display: inline-block; - vertical-align: text-bottom; - content: ''; - background-color: $secondary-content; - mask-image: url('$(res)/img/element-icons/group-members.svg'); - mask-size: 16px; - width: 16px; - height: 16px; - margin-right: 2px; - } } } diff --git a/res/css/views/rooms/_VideoRoomSummary.scss b/res/css/views/rooms/_VideoRoomSummary.scss new file mode 100644 index 00000000000..b3e9af3f651 --- /dev/null +++ b/res/css/views/rooms/_VideoRoomSummary.scss @@ -0,0 +1,51 @@ +/* +Copyright 2022 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_VideoRoomSummary { + .mx_VideoRoomSummary_indicator { + &::before { + display: inline-block; + vertical-align: text-bottom; + content: ''; + background-color: $secondary-content; + mask-image: url('$(res)/img/element-icons/call/video-call.svg'); + mask-size: 16px; + width: 16px; + height: 16px; + margin-right: 4px; + } + + &.mx_VideoRoomSummary_indicator_active { + color: $accent; + + &::before { + background-color: $accent; + } + } + } + + .mx_VideoRoomSummary_participants::before { + display: inline-block; + vertical-align: text-bottom; + content: ''; + background-color: $secondary-content; + mask-image: url('$(res)/img/element-icons/group-members.svg'); + mask-size: 16px; + width: 16px; + height: 16px; + margin-right: 2px; + } +} diff --git a/res/css/views/settings/_AvatarSetting.scss b/res/css/views/settings/_AvatarSetting.scss index ab5afbcd3f1..8c63a00aa8a 100644 --- a/res/css/views/settings/_AvatarSetting.scss +++ b/res/css/views/settings/_AvatarSetting.scss @@ -37,7 +37,7 @@ limitations under the License. text-align: center; > span { - color: #fff; // hardcoded to contrast with background + color: $primary-content; position: relative; // tricks the layout engine into putting this on top of the bg font-weight: 500; } @@ -51,7 +51,7 @@ limitations under the License. right: 0; opacity: 0.5; - background-color: $settings-profile-overlay-placeholder-fg-color; + background-color: $quinary-content; border-radius: 90px; } } @@ -91,7 +91,7 @@ limitations under the License. } .mx_AvatarSetting_avatarPlaceholder::before { - background-color: $settings-profile-overlay-placeholder-fg-color; + background-color: $quinary-content; mask: url("$(res)/img/feather-customised/user.svg"); mask-repeat: no-repeat; mask-size: 36px; @@ -108,7 +108,7 @@ limitations under the License. width: 32px; height: 32px; border-radius: 32px; - background-color: $settings-profile-button-bg-color; + background-color: $secondary-content; position: absolute; bottom: 0; @@ -123,7 +123,7 @@ limitations under the License. mask-repeat: no-repeat; mask-position: center; mask-size: 55%; - background-color: $settings-profile-overlay-placeholder-fg-color; + background-color: $quinary-content; mask-image: url('$(res)/img/feather-customised/edit.svg'); } } diff --git a/res/css/views/settings/_DevicesPanel.scss b/res/css/views/settings/_DevicesPanel.scss index 1732688cc8b..9cbdb6a2a1b 100644 --- a/res/css/views/settings/_DevicesPanel.scss +++ b/res/css/views/settings/_DevicesPanel.scss @@ -19,9 +19,8 @@ limitations under the License. max-width: 880px; hr { - opacity: 0.2; border: none; - border-bottom: 1px solid $primary-content; + border-bottom: 1px solid $quinary-content; } } diff --git a/res/css/views/settings/_E2eAdvancedPanel.scss b/res/css/views/settings/_E2eAdvancedPanel.scss deleted file mode 100644 index 3f180e6fcd2..00000000000 --- a/res/css/views/settings/_E2eAdvancedPanel.scss +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2020 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -.mx_E2eAdvancedPanel_settingLongDescription { - margin-right: 150px; -} diff --git a/res/css/views/settings/_FontScalingPanel.scss b/res/css/views/settings/_FontScalingPanel.scss index bd2b0af61c1..09c5600e33b 100644 --- a/res/css/views/settings/_FontScalingPanel.scss +++ b/res/css/views/settings/_FontScalingPanel.scss @@ -16,9 +16,6 @@ limitations under the License. .mx_FontScalingPanel { color: $primary-content; - > .mx_SettingsTab_SubHeading { - margin-bottom: 32px; - } } .mx_FontScalingPanel .mx_Field { @@ -52,12 +49,54 @@ limitations under the License. margin-top: 3px; } - .mx_EventTile_msgOption { - display: none; + .mx_FontScalingPanel_preview { + border: 1px solid $quinary-content; + border-radius: 10px; + padding: 0 $spacing-16 9px $spacing-16; + pointer-events: none; + display: flow-root; + + &.mx_IRCLayout { + padding-top: 9px; // TODO: Use a spacing variable + } + + .mx_EventTile[data-layout=bubble] { + margin-top: 30px; // TODO: Use a spacing variable + } + + .mx_EventTile_msgOption { + display: none; + } + } + + .mx_FontScalingPanel_fontSlider { + display: flex; + align-items: center; + padding: 15px $spacing-20 35px; // TODO: Use spacing variables + background: rgba($quinary-content, 0.2); + border-radius: 10px; + font-size: $font-10px; + margin-top: $spacing-24; + margin-bottom: $spacing-24; + + .mx_FontScalingPanel_fontSlider_smallText, + .mx_FontScalingPanel_fontSlider_largeText { + font-weight: 500; + } + + .mx_FontScalingPanel_fontSlider_smallText { + font-size: $font-15px; + padding-inline-end: $spacing-20; + } + + .mx_FontScalingPanel_fontSlider_largeText { + font-size: $font-18px; + padding-inline-start: $spacing-20; + } } - &.mx_IRCLayout { - padding-top: 9px; + .mx_FontScalingPanel_customFontSizeField { + margin-inline-start: var(--AppearanceUserSettingsTab_Field-margin-inline-start); } } diff --git a/res/css/views/settings/_IntegrationManager.scss b/res/css/views/settings/_IntegrationManager.scss index 043e7201caf..f91d3fdd6c9 100644 --- a/res/css/views/settings/_IntegrationManager.scss +++ b/res/css/views/settings/_IntegrationManager.scss @@ -14,31 +14,33 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_IntegrationManager .mx_Dialog { - width: 60%; - height: 70%; - overflow: hidden; - padding: 0px; - max-width: initial; - max-height: initial; -} - -.mx_IntegrationManager iframe { - background-color: #fff; - border: 0px; - width: 100%; - height: 100%; -} - -.mx_IntegrationManager_loading h3 { - text-align: center; -} - -.mx_IntegrationManager_error { - text-align: center; - padding-top: 20px; -} - -.mx_IntegrationManager_error h3 { - color: $alert; +.mx_IntegrationManager { + .mx_Dialog { + box-sizing: border-box; + width: 60%; + height: 70%; + overflow: hidden; + max-width: initial; + max-height: initial; + } + + iframe { + background-color: #fff; + border: 0; + width: 100%; + height: 100%; + } + + h3 { + margin-block: $spacing-20; + } + + .mx_IntegrationManager_loading, + .mx_IntegrationManager_error { + text-align: center; + } + + .mx_IntegrationManager_error h3 { + color: $alert; + } } diff --git a/res/css/views/settings/_KeyboardShortcut.scss b/res/css/views/settings/_KeyboardShortcut.scss index d3ca6cc9435..721d5fd8fef 100644 --- a/res/css/views/settings/_KeyboardShortcut.scss +++ b/res/css/views/settings/_KeyboardShortcut.scss @@ -20,17 +20,11 @@ limitations under the License. padding: 5px; border-radius: 4px; background-color: $header-panel-bg-color; - margin-right: 5px; min-width: 20px; text-align: center; display: inline-block; border: 1px solid $kbd-border-color; box-shadow: 0 2px $kbd-border-color; - margin-bottom: 4px; text-transform: capitalize; - - & + kbd { - margin-left: 5px; - } } } diff --git a/res/css/views/settings/_LayoutSwitcher.scss b/res/css/views/settings/_LayoutSwitcher.scss index a6b623311e8..b4e7b9b9e45 100644 --- a/res/css/views/settings/_LayoutSwitcher.scss +++ b/res/css/views/settings/_LayoutSwitcher.scss @@ -33,7 +33,7 @@ limitations under the License. width: 300px; min-width: 0; - border: 1px solid $appearance-tab-border-color; + border: 1px solid $quinary-content; border-radius: $border-radius-10px; .mx_EventTile_msgOption, @@ -68,11 +68,7 @@ limitations under the License. } .mx_StyledRadioButton { - border-top: 1px solid $appearance-tab-border-color; - - > input + div { - border-color: rgba($muted-fg-color, 0.2); - } + border-top: 1px solid $quinary-content; } .mx_StyledRadioButton_checked { diff --git a/res/css/views/settings/_ProfileSettings.scss b/res/css/views/settings/_ProfileSettings.scss index 6ab13058d40..a9e80880aac 100644 --- a/res/css/views/settings/_ProfileSettings.scss +++ b/res/css/views/settings/_ProfileSettings.scss @@ -14,48 +14,49 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_ProfileSettings_controls_topic { - & > textarea { - font-family: inherit; - resize: vertical; +.mx_ProfileSettings { + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); + border-bottom: 1px solid $quinary-content; + + .mx_ProfileSettings_avatarUpload { + display: none; } -} -.mx_ProfileSettings_profile { - display: flex; -} + .mx_ProfileSettings_profile { + display: flex; -.mx_ProfileSettings_controls { - flex-grow: 1; - margin-right: 54px; -} + .mx_ProfileSettings_profile_controls { + flex-grow: 1; + margin-inline-end: 54px; -.mx_ProfileSettings_controls .mx_Field #profileTopic { - height: 4em; -} + .mx_Field:first-child { + margin-top: 0; + } -.mx_ProfileSettings_controls .mx_Field:first-child { - margin-top: 0; -} + .mx_ProfileSettings_profile_controls_topic { + & > textarea { + font-family: inherit; + resize: vertical; + } -.mx_ProfileSettings_userId { - margin-right: $spacing-20; -} - -.mx_ProfileSettings_avatarUpload { - display: none; -} + &.mx_ProfileSettings_profile_controls_topic--room { + height: 4em; + } + } -.mx_ProfileSettings_profileForm { - @mixin mx_Settings_fullWidthField; -} + .mx_ProfileSettings_profile_controls_userId { + margin-inline-end: $spacing-20; + } + } + } -.mx_ProfileSettings_buttons { - margin-top: 10px; // 18px is already accounted for by theabove the buttons - margin-bottom: 28px; + .mx_ProfileSettings_buttons { + margin-top: 10px; // 18px is already accounted for by the
above the buttons + margin-bottom: $spacing-28; - > .mx_AccessibleButton_kind_link { - font-size: $font-14px; - margin-right: 10px; + > .mx_AccessibleButton_kind_link { + font-size: $font-14px; + margin-inline-end: 10px; // TODO: Use a spacing variable + } } } diff --git a/res/css/views/settings/_SetIdServer.scss b/res/css/views/settings/_SetIdServer.scss index 98c64b72187..8dc634400c3 100644 --- a/res/css/views/settings/_SetIdServer.scss +++ b/res/css/views/settings/_SetIdServer.scss @@ -15,9 +15,9 @@ limitations under the License. */ .mx_SetIdServer .mx_Field_input { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_SetIdServer_tooltip { - @mixin mx_Settings_tooltip; + max-width: var(--SettingsTab_tooltip-max-width); } diff --git a/res/css/views/settings/_SetIntegrationManager.scss b/res/css/views/settings/_SetIntegrationManager.scss index 521b1ee8ab7..3d98f473467 100644 --- a/res/css/views/settings/_SetIntegrationManager.scss +++ b/res/css/views/settings/_SetIntegrationManager.scss @@ -15,22 +15,26 @@ limitations under the License. */ .mx_SetIntegrationManager { - margin-top: 10px; - margin-bottom: 10px; -} + .mx_SettingsFlag { + align-items: center; + margin-top: var(--SettingsTab_heading_nth_child-margin-top); -.mx_SetIntegrationManager > .mx_SettingsTab_heading { - margin-bottom: 10px; -} + .mx_SetIntegrationManager_heading_manager { + display: flex; + align-items: center; + flex-wrap: wrap; + column-gap: $spacing-4; -.mx_SetIntegrationManager > .mx_SettingsTab_heading > .mx_SettingsTab_subheading { - display: inline-block; - padding-left: 5px; - margin-top: 0px; -} + .mx_SettingsTab_heading, + .mx_SettingsTab_subheading { + margin-top: 0; + margin-bottom: 0; + } + } -.mx_SetIntegrationManager .mx_ToggleSwitch { - display: inline-block; - float: right; - top: 9px; + .mx_ToggleSwitch { + align-self: flex-start; + min-width: var(--ToggleSwitch-min-width); // avoid compression + } + } } diff --git a/res/css/views/settings/_SpellCheckLanguages.scss b/res/css/views/settings/_SpellCheckLanguages.scss index bb322c983f4..0b5e140bd22 100644 --- a/res/css/views/settings/_SpellCheckLanguages.scss +++ b/res/css/views/settings/_SpellCheckLanguages.scss @@ -31,5 +31,5 @@ limitations under the License. } .mx_SpellCheckLanguages { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } diff --git a/res/css/views/settings/_ThemeChoicePanel.scss b/res/css/views/settings/_ThemeChoicePanel.scss index 69d5735668f..9d20111a9b9 100644 --- a/res/css/views/settings/_ThemeChoicePanel.scss +++ b/res/css/views/settings/_ThemeChoicePanel.scss @@ -20,7 +20,6 @@ limitations under the License. } .mx_ThemeChoicePanel { - $radio-bg-color: $input-darker-bg-color; color: $primary-content; > .mx_ThemeSelectors { @@ -39,7 +38,7 @@ limitations under the License. display: flex; align-items: center; - background: $radio-bg-color; + background: $quinary-content; opacity: 0.4; flex-shrink: 1; @@ -49,7 +48,6 @@ limitations under the License. margin-top: 10px; font-weight: 600; - color: $muted-fg-color; .mx_StyledRadioButton_content { margin-right: 0 @@ -123,11 +121,4 @@ limitations under the License. .mx_ThemeChoicePanel_Advanced { color: $primary-content; - - .mx_ThemeChoicePanel_AdvancedToggle { - color: $accent; - cursor: pointer; - margin-bottom: 20px; - font-size: $font-15px; - } } diff --git a/res/css/views/settings/tabs/_SettingsTab.scss b/res/css/views/settings/tabs/_SettingsTab.scss index 1eb4868e557..033afd1fc43 100644 --- a/res/css/views/settings/tabs/_SettingsTab.scss +++ b/res/css/views/settings/tabs/_SettingsTab.scss @@ -15,7 +15,16 @@ limitations under the License. */ .mx_SettingsTab { + --SettingsTab_section-margin-bottom-preferences-labs: 30px; + --SettingsTab_heading_nth_child-margin-top: 30px; // TODO: Use a spacing variable + --SettingsTab_fullWidthField-margin-inline-end: 100px; + --SettingsTab_tooltip-max-width: 120px; // So it fits in the space provided by the page + color: $primary-content; + + a { + color: $links; + } } .mx_SettingsTab_warningText { @@ -26,12 +35,12 @@ limitations under the License. font-size: $font-20px; font-weight: 600; color: $primary-content; - margin-bottom: 10px; - margin-top: 10px; -} + margin-top: 10px; // TODO: Use a spacing variable + margin-bottom: 10px; // TODO: Use a spacing variable -.mx_SettingsTab_heading:nth-child(n + 2) { - margin-top: 30px; + &:nth-child(n + 2) { + margin-top: var(--SettingsTab_heading_nth_child-margin-top); + } } .mx_SettingsTab_subheading { @@ -39,57 +48,50 @@ limitations under the License. display: block; font-weight: 600; color: $primary-content; - margin-bottom: 10px; - margin-top: 12px; + margin-top: $spacing-12; + margin-bottom: 10px; // TODO: Use a spacing variable } .mx_SettingsTab_subsectionText { - color: $settings-subsection-fg-color; + color: $secondary-content; font-size: $font-14px; display: block; - margin: 10px 80px 10px 0; // Align with the rest of the view + margin-top: 10px; // TODO: Use a spacing variable + margin-inline-end: 80px; // Align with the rest of the view + margin-bottom: 10px; // TODO: Use a spacing variable + margin-inline-start: 0; } .mx_SettingsTab_section { - $right-gutter: 80px; + $end-gutter: 80px; - margin-bottom: 24px; + margin-bottom: $spacing-24; .mx_SettingsFlag { - margin-right: $right-gutter; - margin-bottom: 10px; + margin-inline-end: $end-gutter; + margin-bottom: 10px; // TODO: Use a spacing variable + + .mx_SettingsFlag_label { + vertical-align: middle; + display: inline-block; + max-width: calc(100% - $font-48px); // Force word wrap instead of colliding with the switch + box-sizing: border-box; + } + + .mx_ToggleSwitch { + float: inline-end; + } } > p { - margin-right: $right-gutter; + margin-inline-end: $end-gutter; } &.mx_SettingsTab_subsectionText .mx_SettingsFlag { - margin-right: 0 !important; + margin-inline-end: 0 !important; } } -.mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_label { - vertical-align: middle; - display: inline-block; - font-size: $font-14px; - color: $primary-content; - max-width: calc(100% - $font-48px); // Force word wrap instead of colliding with the switch - box-sizing: border-box; - padding-right: 10px; -} - -.mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_microcopy { - margin-top: 4px; - font-size: $font-12px; - line-height: $font-15px; - color: $secondary-content; -} - -.mx_SettingsTab_section .mx_SettingsFlag .mx_ToggleSwitch { - float: right; -} - .mx_SettingsTab_settingsTable { table-layout: fixed; border-collapse: separate; @@ -157,10 +159,6 @@ limitations under the License. word-break: break-all; } -.mx_SettingsTab a { - color: $accent-alt; -} - .mx_SettingsTab_toggleWithDescription { - margin-top: 24px; + margin-top: $spacing-24; } diff --git a/res/css/views/settings/tabs/room/_SecurityRoomSettingsTab.scss b/res/css/views/settings/tabs/room/_SecurityRoomSettingsTab.scss index a3b3b17899f..c1426534902 100644 --- a/res/css/views/settings/tabs/room/_SecurityRoomSettingsTab.scss +++ b/res/css/views/settings/tabs/room/_SecurityRoomSettingsTab.scss @@ -34,6 +34,6 @@ limitations under the License. .mx_SecurityRoomSettingsTab_encryptionSection { padding-bottom: 24px; - border-bottom: 1px solid $menu-border-color; + border-bottom: 1px solid $quinary-content; margin-bottom: 32px; } diff --git a/res/css/views/settings/tabs/user/_AppearanceUserSettingsTab.scss b/res/css/views/settings/tabs/user/_AppearanceUserSettingsTab.scss index 58443216e67..11b50690748 100644 --- a/res/css/views/settings/tabs/user/_AppearanceUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_AppearanceUserSettingsTab.scss @@ -14,22 +14,25 @@ See the License for the specific language governing permissions and limitations under the License. */ +.mx_AppearanceUserSettingsTab { + --AppearanceUserSettingsTab_Field-margin-inline-start: calc($font-16px + 10px); -.mx_AppearanceUserSettingsTab{ - font-size: $font-14px; -} - -.mx_AppearanceUserSettingsTab .mx_Field { - width: 256px; -} + .mx_SettingsTab_subsectionText { + margin-block: $spacing-12 $spacing-32; + color: $primary-content; // Same as mx_SettingsTab + } -.mx_AppearanceUserSettingsTab { - > .mx_SettingsTab_SubHeading { - margin-bottom: 32px; - margin-top: 12px; + .mx_Field { + width: 256px; } -} -.mx_AppearanceUserSettingsTab_RoomListStyleSection { - color: $primary-content; + .mx_AppearanceUserSettingsTab_Advanced { + .mx_Checkbox { + margin-block: $spacing-16; + } + + .mx_AppearanceUserSettingsTab_systemFont { + margin-inline-start: var(--AppearanceUserSettingsTab_Field-margin-inline-start); + } + } } diff --git a/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss b/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss index 8b73e690315..0c0e13d691c 100644 --- a/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss @@ -15,7 +15,7 @@ limitations under the License. */ .mx_GeneralUserSettingsTab_changePassword .mx_Field { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_GeneralUserSettingsTab_changePassword .mx_Field:first-child { @@ -40,7 +40,7 @@ limitations under the License. .mx_GeneralUserSettingsTab_discovery .mx_ExistingEmailAddress, .mx_GeneralUserSettingsTab_discovery .mx_ExistingPhoneNumber, .mx_GeneralUserSettingsTab_languageInput { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_GeneralUserSettingsTab_warningIcon { diff --git a/res/css/views/settings/tabs/user/_HelpUserSettingsTab.scss b/res/css/views/settings/tabs/user/_HelpUserSettingsTab.scss index 3779162223b..c03de9f36ce 100644 --- a/res/css/views/settings/tabs/user/_HelpUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_HelpUserSettingsTab.scss @@ -15,16 +15,17 @@ See the License for the specific language governing permissions and limitations under the License. */ -.mx_HelpUserSettingsTab_debugButton { - margin-bottom: 5px; - margin-top: 5px; -} +.mx_HelpUserSettingsTab { + code { + word-break: break-all; + user-select: all; + } -.mx_HelpUserSettingsTab span.mx_AccessibleButton { - word-break: break-word; -} + details { + margin: $spacing-16 auto; -.mx_HelpUserSettingsTab code { - word-break: break-all; - user-select: all; + summary { + margin-bottom: $spacing-16; + } + } } diff --git a/res/css/views/settings/tabs/user/_KeyboardUserSettingsTab.scss b/res/css/views/settings/tabs/user/_KeyboardUserSettingsTab.scss index 1ba3a8599b8..4fe4d175df4 100644 --- a/res/css/views/settings/tabs/user/_KeyboardUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_KeyboardUserSettingsTab.scss @@ -16,9 +16,25 @@ limitations under the License. */ .mx_KeyboardUserSettingsTab .mx_SettingsTab_section { - .mx_KeyboardShortcut_shortcutRow { + .mx_KeyboardShortcut_shortcutRow, + .mx_KeyboardShortcut { display: flex; justify-content: space-between; align-items: center; } + + .mx_KeyboardShortcut_shortcutRow { + column-gap: $spacing-8; + margin-bottom: $spacing-4; + + // TODO: Use flexbox + &:last-of-type { + margin-bottom: 0; + } + + .mx_KeyboardShortcut { + flex-wrap: nowrap; + column-gap: 5px; // TODO: Use a spacing variable + } + } } diff --git a/res/css/views/settings/tabs/user/_LabsUserSettingsTab.scss b/res/css/views/settings/tabs/user/_LabsUserSettingsTab.scss index 6fa751a96f1..051ec4c9a00 100644 --- a/res/css/views/settings/tabs/user/_LabsUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_LabsUserSettingsTab.scss @@ -15,18 +15,13 @@ limitations under the License. */ .mx_LabsUserSettingsTab { - .mx_SettingsTab_subsectionText, .mx_SettingsTab_section { - margin-bottom: 30px; + .mx_SettingsTab_subsectionText, + .mx_SettingsTab_section { + margin-bottom: var(--SettingsTab_section-margin-bottom-preferences-labs); } - .mx_SettingsTab_section .mx_SettingsFlag { + .mx_SettingsFlag { margin-right: 0; // remove right margin to align with beta cards - display: flex; align-items: center; - justify-content: space-between; - - .mx_ToggleSwitch { - float: unset; - } } } diff --git a/res/css/views/settings/tabs/user/_MjolnirUserSettingsTab.scss b/res/css/views/settings/tabs/user/_MjolnirUserSettingsTab.scss index 2a3fd12f317..26d0b00080e 100644 --- a/res/css/views/settings/tabs/user/_MjolnirUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_MjolnirUserSettingsTab.scss @@ -15,7 +15,7 @@ limitations under the License. */ .mx_MjolnirUserSettingsTab .mx_Field { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_MjolnirUserSettingsTab_listItem { diff --git a/res/css/views/settings/tabs/user/_NotificationUserSettingsTab.scss b/res/css/views/settings/tabs/user/_NotificationUserSettingsTab.scss deleted file mode 100644 index b57c46a1d9d..00000000000 --- a/res/css/views/settings/tabs/user/_NotificationUserSettingsTab.scss +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2019 New Vector Ltd - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -.mx_NotificationUserSettingsTab .mx_SettingsTab_heading { - margin-bottom: 10px; // Give some spacing between the title and the first elements -} diff --git a/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss b/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss index ea979ac074c..c7eb699d4c9 100644 --- a/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss @@ -16,21 +16,10 @@ limitations under the License. .mx_PreferencesUserSettingsTab { .mx_Field { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_SettingsTab_section { - margin-bottom: 30px; - - > details { - > summary { - cursor: pointer; - color: $primary-content; - } - - & + .mx_SettingsFlag { - margin-top: 20px; - } - } + margin-bottom: var(--SettingsTab_section-margin-bottom-preferences-labs); } } diff --git a/res/css/views/settings/tabs/user/_SidebarUserSettingsTab.scss b/res/css/views/settings/tabs/user/_SidebarUserSettingsTab.scss index 5000f3e9a69..f4c248a584a 100644 --- a/res/css/views/settings/tabs/user/_SidebarUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_SidebarUserSettingsTab.scss @@ -15,17 +15,6 @@ limitations under the License. */ .mx_SidebarUserSettingsTab { - .mx_SettingsTab_section { - margin-top: 12px; - } - - .mx_SidebarUserSettingsTab_subheading { - font-size: $font-15px; - line-height: $font-24px; - color: $primary-content; - margin-bottom: 4px; - } - .mx_Checkbox { margin-top: 12px; font-size: $font-15px; diff --git a/res/css/views/settings/tabs/user/_VoiceUserSettingsTab.scss b/res/css/views/settings/tabs/user/_VoiceUserSettingsTab.scss index 69d57bdba10..138ca6f9de3 100644 --- a/res/css/views/settings/tabs/user/_VoiceUserSettingsTab.scss +++ b/res/css/views/settings/tabs/user/_VoiceUserSettingsTab.scss @@ -15,7 +15,7 @@ limitations under the License. */ .mx_VoiceUserSettingsTab .mx_Field { - @mixin mx_Settings_fullWidthField; + margin-inline-end: var(--SettingsTab_fullWidthField-margin-inline-end); } .mx_VoiceUserSettingsTab_missingMediaPermissions { diff --git a/res/css/views/spaces/_SpaceBasicSettings.scss b/res/css/views/spaces/_SpaceBasicSettings.scss index 5ed772fa85f..fe768a2978f 100644 --- a/res/css/views/spaces/_SpaceBasicSettings.scss +++ b/res/css/views/spaces/_SpaceBasicSettings.scss @@ -64,7 +64,7 @@ limitations under the License. > .mx_AccessibleButton_kind_link { display: inline-block; margin: auto 18px; - color: #368bd6; + color: $links; font-size: $font-14px; // See _SpaceSettingsDialog.scss } diff --git a/res/img/betas/new_search_experience.gif b/res/img/betas/new_search_experience.gif deleted file mode 100644 index 6dc1e001f3e..00000000000 Binary files a/res/img/betas/new_search_experience.gif and /dev/null differ diff --git a/res/img/betas/video_rooms.png b/res/img/betas/video_rooms.png new file mode 100644 index 00000000000..02a9e8c86b7 Binary files /dev/null and b/res/img/betas/video_rooms.png differ diff --git a/res/img/element-icons/roomlist/decorated-avatar-mask.svg b/res/img/element-icons/roomlist/decorated-avatar-mask.svg index fb09c16bba5..1cca51666e9 100644 --- a/res/img/element-icons/roomlist/decorated-avatar-mask.svg +++ b/res/img/element-icons/roomlist/decorated-avatar-mask.svg @@ -1,3 +1,4 @@ -