@import '_variables'; @import '_mixins'; $menu-link-icon-size: 22px; $menu-link-icon-margin-right: 18px; @mixin menu-link { display: flex; align-items: center; padding-left: $menu-lateral-padding; color: pvar(--menuForegroundColor); cursor: pointer; font-size: 16px; white-space: normal; word-break: break-word; padding-right: 20px; transition: background-color .1s ease-in-out; &.active { background-color: rgba(255, 255, 255, 0.15); } &:hover, &.focus-visible { background-color: rgba(255, 255, 255, 0.10); } my-global-icon { @include apply-svg-color(#808080); display: flex; width: $menu-link-icon-size; height: $menu-link-icon-size; margin-right: $menu-link-icon-margin-right; } } .menu-wrapper { position: fixed; height: calc(100vh - #{$header-height}); padding: 0; width: $menu-width; z-index: z(menu); scrollbar-color: pvar(--actionButtonColor) pvar(--menuBackgroundColor); } menu { @include ellipsis; background-color: pvar(--menuBackgroundColor); color: pvar(--menuForegroundColor); display: flex; flex-direction: column; height: 100%; width: 100%; margin: 0; padding: 0; &:focus, &:hover { overflow-y: auto; } @media not all and (hover: hover) and (pointer: fine) { overflow-y: auto; } &.is-logged-in { .panel-block { margin-bottom: 20px; } .block-title { margin-bottom: 15px; } } } .top-menu { flex-grow: 1; width: $menu-width; } .logged-in-block { margin-bottom: 20px; background-color: rgba(255, 255, 255, 0.15); > div:first-child { height: 80px; display: flex; align-items: center; justify-content: center; .logged-in-info { @include ellipsis; flex-grow: 1; .logged-in-display-name { font-size: 16px; font-weight: $font-semibold; color: pvar(--menuForegroundColor); cursor: pointer; @include disable-default-a-behaviour; } .logged-in-username { @include ellipsis; font-size: 13px; color: #C6C6C6; max-width: 140px; cursor: pointer; } } .logged-in-more { margin-right: 20px; my-global-icon.dropdown-toggle { cursor: pointer; &::after { border: none; } ::ng-deep { @include apply-svg-color(pvar(--menuForegroundColor)); } } } } .logged-in-menu { display: flex; flex-direction: column; align-items: flex-start; border-top: 1px solid var(--greyForegroundColor); a { @include menu-link; @include disable-default-a-behaviour; $icon-size: 13px; $additional-margin: ($menu-link-icon-size - $icon-size) / 2; font-size: 14px; width: 100%; min-height: 35px; my-global-icon { width: $icon-size; height: $icon-size; // Keep aligned with other icons margin-left: $additional-margin; &[iconName="channel"] { margin-top: -2px; } } &.active, &:hover, &:focus-visible { my-global-icon { @include apply-svg-color(var(--mainBackgroundColor)); } } &.active { $border-left-width: 4px; font-weight: $font-semibold; border-left: $border-left-width solid var(--mainColor); my-global-icon { margin-left: $additional-margin - $border-left-width; } } } } } .login-buttons-block { margin: 30px 25px 35px 25px; .login-button { @include peertube-button-link; @include orange-button; display: block; width: 100%; margin-bottom: 10px; } .create-account-button { @include peertube-button-link; display: block; width: 100%; color: #fff; background-color: rgba(255, 255, 255, 0.25); &:hover { background-color: rgba(255, 255, 255, 0.28); } } } .in-my-library, .on-instance, .footer-block { margin-bottom: 15px; .block-title { text-transform: uppercase; font-weight: $font-bold; // Bold font-size: 13px; margin-bottom: 25px; margin-left: 26px; @include ellipsis; margin-right: 30px; } a { @include menu-link; @include disable-default-a-behaviour; min-height: 40px; my-global-icon { &[iconName="playlists"] { height: 24px; width: 24px; margin-right: 16px; } &[iconName="videos"] { position: relative; right: -1px; } } } } .footer { width: $menu-width; padding-bottom: 15px; .bottom-links { display: flex; flex-direction: column; padding: 0 $menu-lateral-padding; } $footer-links-base-opacity: .8; .footer-links { &, > div { display: flex; flex-wrap: wrap; } a, span[role=button] { display: inline-block; text-decoration: none; color: pvar(--mainBackgroundColor); opacity: $footer-links-base-opacity; white-space: nowrap; font-size: 90%; font-weight: 500; line-height: 1.4rem; margin-right: 8px; &.inline-global-icon { display: inline-flex; align-items: center; white-space: nowrap; height: 1.4rem; my-global-icon { @include apply-svg-color(pvar(--mainBackgroundColor)); display: flex; width: auto; height: 90%; margin-right: .2rem; } } } } .footer-copyleft small a { @include disable-default-a-behaviour; color: pvar(--mainBackgroundColor); opacity: $footer-links-base-opacity - .2; } } .dropdown { z-index: #{z('menu') + 1} !important; } .dropdown-menu { width: calc(100% + 40px); } .dropdown-item { @include dropdown-with-icon-item; cursor: pointer; display: flex; align-items: center; i.glyphicon-menu-right { opacity: .4; } my-global-icon { &[iconName="cog"], &[iconName="sign-out"] { position: relative; right: -2px; height: 20px; width: 20px; } } my-global-icon.not-displayed { display: none; } &:hover { my-global-icon.hover-display-toggle.not-displayed { display: inherit; } my-global-icon.hover-display-toggle { display: none; } } } .more-settings { text-transform: uppercase; font-size: 80%; color: #6c757d; } @media screen and (max-width: $mobile-view) { .menu-wrapper { width: 100% !important; menu { overflow-y: auto; } } .top-menu, .footer { width: 100% !important; } }