@use "../../styles/mixins"; .MiddleHeader { display: flex; align-items: center; width: 100%; background: var(--color-background); position: relative; z-index: var(--z-middle-header); padding-top: 0.25rem; padding-bottom: 0.25rem; padding-left: max(1.4375rem, env(safe-area-inset-left)); padding-right: max(0.8125rem, env(safe-area-inset-right)); flex-shrink: 0; height: 3.5rem; @media (max-width: 600px) { position: relative; padding-left: max(0.5rem, env(safe-area-inset-left)); padding-right: max(0.5rem, env(safe-area-inset-right)); } .Transition { width: 100%; // https://dfmcphee.com/flex-items-and-min-width-0/ // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size min-width: 0; > .Transition_slide { display: flex; align-items: center; width: 100%; } } .back-button { margin-left: -0.5rem; margin-right: 0.5rem; position: relative; @media (max-width: 600px) { margin-left: 0; } .unread-count { min-width: 1.25rem; height: 1.25rem; padding: 0 0.375rem; border-radius: 0.625rem; font-size: 0.75rem; line-height: 1.25rem; font-weight: 500; text-align: center; position: absolute; top: -0.25rem; right: -0.5rem; background: var(--color-gray); color: white; pointer-events: none; &.active { background: var(--color-primary); } } } .chat-info-wrapper { flex-grow: 1; overflow: hidden; } .header-tools { display: flex; align-items: center; justify-content: flex-end; margin-left: auto; flex-shrink: 0; body.no-page-transitions & { &, .AudioPlayer, .HeaderActions { transition: none !important; } } body.no-right-column-animations & { &, .HeaderActions { transition: none !important; } } @media (min-width: 1276px) { transform: translate3d(0, 0, 0); transition: transform var(--layer-transition); #Main.right-column-open & { transform: translate3d(calc(var(--right-column-width) * -1), 0, 0); } } // @optimization #Main.right-column-animating & { pointer-events: none; } } h3 { font-weight: 500; font-size: 1.125rem; line-height: 1.375rem; white-space: pre; margin: 0; overflow: hidden; text-overflow: ellipsis; unicode-bidi: plaintext; body.is-ios &, body.is-macos & { font-size: 1.0625rem; font-weight: 600; } @media (max-width: 600px) { display: block; overflow: hidden; text-overflow: ellipsis; } @media (min-width: 1275px) { #Main.right-column-open & { max-width: calc(100% - var(--right-column-width)); } } } .ChatInfo { cursor: var(--custom-cursor, pointer); display: flex; align-items: center; // Space for unread story circle padding: 0.0625rem 0 0.0625rem 0.0625rem; @media (max-width: 600px) { user-select: none; } .info { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; overflow: hidden; } .title { --custom-emoji-size: 1.375rem; display: flex; align-items: center; .VerifiedIcon { width: 1.25rem; height: 1.25rem; } } .saved-dialog-avatar { position: absolute; } .overlay-avatar { margin-left: 2.125rem; .inner { outline: 2px solid var(--color-background); } } .status, .typing-status { display: inline; unicode-bidi: plaintext; @media (min-width: 1275px) { #Main.right-column-open & { max-width: calc(100% - var(--right-column-width)); } } } .user-status { unicode-bidi: plaintext; overflow: hidden; text-overflow: ellipsis; @media (min-width: 1275px) { #Main.right-column-open & { max-width: calc(100% - var(--right-column-width)); } } } .custom-emoji { color: var(--color-primary); } .story-circle { max-width: 2.625rem !important; max-height: 2.625rem !important; } .message-count-transition { height: 1.125rem; } } .ChatInfo .Avatar, .topic-header-icon { // TODO For some reason webpack imports `Audio.scss` second time when loading calls bundle width: 2.5rem !important; height: 2.5rem !important; margin-right: 0.625rem; } .topic-header-icon { --custom-emoji-size: 2.25rem; font-size: 2.25rem; .emoji-small { width: 1.25rem; height: 1.25rem; } .topic-icon-letter { font-size: 1.25rem; } &.general-forum-icon { color: var(--color-text-secondary); } } .Avatar { font-size: 1.0625rem; } .status, .typing-status { font-size: 0.875rem; line-height: 1.125rem; margin: 0; color: var(--color-text-secondary); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: inline-block; .ellipsis { display: inline-flex; } &.online { color: var(--color-primary); } .font-emoji { line-height: 1rem; } } .Button.smaller { width: 2.5rem; height: 2.5rem; } .HeaderActions { flex-shrink: 0; margin-left: auto; display: flex; align-items: center; justify-content: flex-end; .Button { margin-left: 0.25rem; &.tiny { margin-right: 0.625rem; } } .toggle-right-pane-button { &.active { color: var(--color-primary); opacity: 1; } } .badge-button { position: relative; overflow: visible; } .badge { position: absolute; min-width: 1rem; height: 1rem; background: var(--color-primary); border-radius: 0.5rem; color: white; font-size: 0.75rem; line-height: 1rem; font-weight: 500; text-align: center; flex-shrink: 0; right: 0; top: 0; } } body.is-electron.is-macos & { -webkit-app-region: drag; } body.is-electron.is-macos #Main:not(.left-column-open):not(.is-fullscreen) & { @media (max-width: 925px) { padding-left: 5rem; .back-button { margin-left: -0.5rem; } } } } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }