/* Copyright 2024 New Vector Ltd. Copyright 2023 The Matrix.org Foundation C.I.C. Copyright 2015, 2016 OpenMarket Ltd SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ :root { --RoomHeader-indicator-dot-size: 8px; --RoomHeader-indicator-dot-offset: -3px; --RoomHeader-indicator-pulseColor: $alert; } .mx_LegacyRoomHeader { flex: 0 0 50px; border-bottom: 1px solid $primary-hairline-color; background-color: $background; .mx_LegacyRoomHeader_icon { height: 12px; width: 12px; &.mx_LegacyRoomHeader_icon_video { height: 14px; width: 14px; background-color: $secondary-content; mask-image: url("$(res)/img/element-icons/call/video-call.svg"); mask-size: 100%; } &.mx_E2EIcon { margin: 0; height: 100%; /* To give the tooltip room to breathe */ } } .mx_CallDuration { margin-top: calc(($font-15px - $font-13px) / 2); /* To align with the name */ font-size: $font-13px; } } .mx_LegacyRoomHeader_wrapper { height: 44px; display: flex; align-items: center; min-width: 0; padding: 10px 20px 9px 16px; border-bottom: 1px solid $separator; .mx_InviteOnlyIcon_large { margin: 0; } .mx_BetaCard_betaPill { margin-right: $spacing-8; } /* The container of E2EIcon in the legacy header needs to have its height set */ & > span { height: 100%; } } .mx_LegacyRoomHeader_name { flex: 0 1 auto; overflow: hidden; color: $primary-content; font: var(--cpd-font-heading-sm-semibold); font-weight: var(--cpd-font-weight-semibold); min-height: 24px; align-items: center; border-radius: 6px; margin: 0 3px; padding: 1px 4px; display: flex; user-select: none; cursor: pointer; &:hover { background-color: $quinary-content; } .mx_LegacyRoomHeader_nametext { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .mx_LegacyRoomHeader_chevron { align-self: center; width: 20px; height: 20px; mask-position: center; mask-size: 20px; mask-repeat: no-repeat; mask-image: url("$(res)/img/feather-customised/chevron-down.svg"); background-color: $tertiary-content; } &.mx_LegacyRoomHeader_name--textonly { cursor: unset; &:hover { background-color: unset; } } &[aria-expanded="true"] { background-color: $separator; .mx_LegacyRoomHeader_chevron { transform: rotate(180deg); } } } .mx_LegacyRoomHeader_settingsHint { color: $settings-grey-fg-color !important; } .mx_LegacyRoomHeader_searchStatus { font-weight: normal; opacity: 0.6; } .mx_RoomTopic { position: relative; cursor: pointer; } .mx_LegacyRoomHeader_topic { $lines: 2; flex: 1; color: $secondary-content; font: var(--cpd-font-body-sm-regular); line-height: 1rem; max-height: calc(1rem * $lines); overflow: hidden; -webkit-line-clamp: $lines; /* See: https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp */ -webkit-box-orient: vertical; display: -webkit-box; } .mx_LegacyRoomHeader_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_LegacyRoomHeader_avatar { flex: 0; margin: 0 7px; position: relative; cursor: pointer; } .mx_LegacyRoomHeader_button { cursor: pointer; flex: 0 0 auto; margin-left: 1px; margin-right: 1px; height: 32px; width: 32px; position: relative; border-radius: 100%; &::before { content: ""; position: absolute; top: 4px; /* center with parent of 32px */ left: 4px; /* center with parent of 32px */ height: 24px; width: 24px; background-color: $icon-button-color; mask-repeat: no-repeat; mask-size: contain; } &:hover { background: var(--cpd-color-bg-subtle-primary); &::before { background-color: var(--cpd-color-icon-primary); } } } .mx_LegacyRoomHeader_button_unreadIndicator_bg { position: absolute; right: var(--RoomHeader-indicator-dot-offset); top: var(--RoomHeader-indicator-dot-offset); margin: 4px; width: var(--RoomHeader-indicator-dot-size); height: var(--RoomHeader-indicator-dot-size); border-radius: 50%; transform: scale(1.6); transform-origin: center center; background: $background; } .mx_LegacyRoomHeader_button_unreadIndicator { position: absolute; right: var(--RoomHeader-indicator-dot-offset); top: var(--RoomHeader-indicator-dot-offset); margin: 4px; &.mx_Indicator_highlight { background: var(--cpd-color-icon-critical-primary); box-shadow: var(--cpd-color-icon-critical-primary); } &.mx_Indicator_notification { background: var(--cpd-color-icon-success-primary); box-shadow: var(--cpd-color-icon-success-primary); } &.mx_Indicator_activity { background: var(--cpd-color-icon-primary); box-shadow: var(--cpd-color-icon-primary); } } .mx_LegacyRoomHeader_button--unread { &::before { background-color: $room-icon-unread-color !important; } } .mx_LegacyRoomHeader_button--highlight { &::before { background-color: var(--cpd-color-icon-primary) !important; } } .mx_LegacyRoomHeader_forgetButton::before { mask-image: url("$(res)/img/element-icons/leave.svg"); width: 26px; } .mx_LegacyRoomHeader_appsButton::before { mask-image: url("$(res)/img/element-icons/room/apps.svg"); } .mx_LegacyRoomHeader_appsButton_highlight::before { background-color: $accent; } .mx_LegacyRoomHeader_searchButton::before { mask-image: url("$(res)/img/element-icons/room/search-inset.svg"); } .mx_LegacyRoomHeader_inviteButton::before { mask-image: url("$(res)/img/element-icons/room/invite.svg"); } .mx_LegacyRoomHeader_voiceCallButton::before { mask-image: url("$(res)/img/element-icons/call/voice-call.svg"); /* The call button SVG is padded slightly differently, so match it up to the size */ /* of the other icons */ mask-size: 20px; mask-position: center; } .mx_LegacyRoomHeader_videoCallButton::before { mask-image: url("$(res)/img/element-icons/call/video-call.svg"); } .mx_LegacyRoomHeader_layoutButton--freedom::before, .mx_LegacyRoomHeader_freedomIcon::before { mask-image: url("$(res)/img/element-icons/call/freedom.svg"); } .mx_LegacyRoomHeader_layoutButton--spotlight::before, .mx_LegacyRoomHeader_spotlightIcon::before { mask-image: url("$(res)/img/element-icons/call/spotlight.svg"); } .mx_LegacyRoomHeader_closeButton { &::before { mask-image: url("$(res)/img/cancel.svg"); mask-size: 20px; mask-position: center; } &:hover { background: unset; /* remove background color on hover */ &::before { background-color: $icon-button-color; /* set the default background color */ } } } .mx_LegacyRoomHeader_minimiseButton::before { mask-image: url("$(res)/img/element-icons/reduce.svg"); } .mx_LegacyRoomHeader_layoutMenu .mx_IconizedContextMenu_icon::before { content: ""; width: 16px; height: 16px; display: block; mask-position: center; mask-size: 20px; mask-repeat: no-repeat; background: $primary-content; } @media only screen and (max-width: 480px) { .mx_LegacyRoomHeader_wrapper { padding: 0; margin: 0; } .mx_LegacyRoomHeader { overflow: hidden; } }