X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fmenu%2Fmenu.component.scss;h=f0919ed289d1930ec8eeb743948e74254a4e17e6;hb=a554bc1a260a525cd635d62404b9fe76fdb9e36b;hp=6a49866b1e184a41d1cf9fd3a65d7d580b53045f;hpb=26171379d0196ac645923e72b12e1cf29089835b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/menu/menu.component.scss b/client/src/app/menu/menu.component.scss index 6a49866b1..f0919ed28 100644 --- a/client/src/app/menu/menu.component.scss +++ b/client/src/app/menu/menu.component.scss @@ -1,19 +1,24 @@ -@import '_variables'; -@import '_mixins'; +@use 'sass:math'; +@use '_variables' as *; +@use '_mixins' as *; $menu-link-icon-size: 22px; $menu-link-icon-margin-right: 18px; +$footer-links-base-opacity: .8; + +.menu-link { + @include disable-default-a-behaviour; + @include padding-left($menu-lateral-padding); + @include padding-right(20px); -@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; line-height: $line-height-normal; @@ -21,17 +26,18 @@ $menu-link-icon-margin-right: 18px; background-color: rgba(255, 255, 255, 0.15); } - &:hover, &.focus-visible { - background-color: rgba(255, 255, 255, 0.10); + &:hover, + &.focus-visible { + background-color: rgba(255, 255, 255, 0.1); } my-global-icon { @include apply-svg-color(#808080); + @include margin-right($menu-link-icon-margin-right); display: flex; width: $menu-link-icon-size; height: $menu-link-icon-size; - margin-right: $menu-link-icon-margin-right; } } @@ -57,7 +63,8 @@ menu { margin: 0; padding: 0; - &:focus, &:hover { + &:focus, + &:hover { overflow-y: auto; } @@ -90,291 +97,245 @@ menu { display: flex; align-items: center; justify-content: left; + } +} - .logged-in-more { - $main-radius: 25px; +my-notification { + @include margin-left(auto); + @include margin-right(15px); +} - margin-left: 13px; - border-radius: $main-radius; - transition: all .1s ease-in-out; - cursor: pointer; +.logged-in-more { + @mixin display-hints($is-mobile: false) { + background-color: rgba(255, 255, 255, 0.15); - *, & { - line-height: 1; + @if $is-mobile { + .dropdown-toggle-indicator { + display: inherit !important; } - &.show { - background-color: rgba(255, 255, 255, 0.20); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325); + .dropdown-toggle { + max-width: 88% !important; } + } + } - @mixin display-hints($is-mobile: false) { - background-color: rgba(255, 255, 255, 0.15); - - @if $is-mobile { - .dropdown-toggle-indicator { - display: inherit !important; - } - .dropdown-toggle:first-child { - padding-right: 30px !important; - } - } - } + $main-radius: 25px; - &:hover { - @include display-hints; - } + @include margin-left(13px); + + flex: 1; + border-radius: $main-radius; + transition: all .1s ease-in-out; + cursor: pointer; + line-height: 1; - /* smartphones and touchscreens */ - @media (hover: none) and (pointer: coarse) { - @include display-hints($is-mobile: true); + &.show { + background-color: rgba(255, 255, 255, 0.2); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325); + } - /* fill space when on mobile */ - max-width: calc(100% - 80px); - .dropdown-toggle { - max-width: 100%; - } - .logged-in-info { - max-width: calc(100% - 45px) !important; - } + &:hover { + @include display-hints; + } - } + /* smartphones and touchscreens */ + @media (hover: none) and (pointer: coarse) { + @include display-hints($is-mobile: true); - .dropdown-toggle-indicator { - position: relative; - width: 0; - display: none; - - span { - position: absolute; - right: -35px; - top: -8px; - color: grey; - width: $main-radius; - } - } + /* fill space when on mobile */ + max-width: calc(100% - 80px); - .dropdown-toggle { - &::after { - border: none; - } - } + .dropdown-toggle { + max-width: 100%; + } - .dropdown-toggle:first-child { - display: inline-flex; - align-items: center; - padding: 5px 7px; - } + .logged-in-info { + max-width: calc(100% - 45px) !important; + } + } - img { - @include avatar(34px); + .dropdown-toggle-indicator { + position: relative; + width: 0; + display: none; - margin-right: 10px; - } + span { + position: absolute; + right: -35px; + top: -8px; + color: #808080; + width: $main-radius; + } + } - .logged-in-info { - max-width: 105px; + .dropdown-toggle { + &::after { + border: 0; + } + } - flex-grow: 1; + .dropdown-toggle:first-child { + display: flex; + align-items: center; + padding: 5px 7px; + border-radius: $main-radius; + } +} - .logged-in-display-name, - .logged-in-username { - @include ellipsis; - } +my-actor-avatar { + @include margin-right(10px); +} - .logged-in-display-name { - font-size: 16px; - font-weight: $font-semibold; - color: pvar(--menuForegroundColor); +.logged-in-info { + max-width: 105px; - @include disable-default-a-behaviour; - } + flex-grow: 1; +} - .logged-in-username { - font-size: 13px; - color: #C6C6C6; - margin-top: 3px; - } - } - } +.logged-in-display-name, +.logged-in-username { + @include ellipsis; +} - my-notification { - margin-left: auto; - margin-right: 15px; - } - } +.logged-in-display-name { + @include disable-default-a-behaviour; - .logged-in-menu { - display: flex; - flex-direction: column; - align-items: flex-start; - border-top: 1px solid var(--greyForegroundColor); - line-height: $line-height-normal; + font-size: 16px; + font-weight: $font-semibold; + color: pvar(--menuForegroundColor); +} - a { - @include menu-link; - @include disable-default-a-behaviour; +.logged-in-username { + font-size: 13px; + color: #C6C6C6; + margin-top: 3px; +} - $icon-size: 13px; - $additional-margin: ($menu-link-icon-size - $icon-size) / 2; +.logged-in-menu { + display: flex; + flex-direction: column; + align-items: flex-start; + border-top: 1px solid var(--greyForegroundColor); + line-height: $line-height-normal; - font-size: 14px; - width: 100%; - min-height: 35px; + a { + $icon-size: 13px; + $additional-margin: math.div($menu-link-icon-size - $icon-size, 2); - my-global-icon { - width: $icon-size; - height: $icon-size; + font-size: 14px; + width: 100%; + min-height: 35px; - // Keep aligned with other icons - margin-left: $additional-margin; + my-global-icon { + // Keep aligned with other icons + @include margin-left($additional-margin); - &[iconName="channel"] { - margin-top: -2px; - } - } + width: $icon-size; + height: $icon-size; + } - &.active, - &:hover, - &:focus-visible { - my-global-icon { - @include apply-svg-color(var(--menuForegroundColor)); - } + &.active, + &:hover, + &:focus-visible { + my-global-icon { + @include apply-svg-color(var(--menuForegroundColor)); } + } - &.active { - $border-left-width: 4px; + &.active { + $border-left-width: 4px; - font-weight: $font-semibold; - border-left: $border-left-width solid var(--mainColor); + font-weight: $font-semibold; + border-left: $border-left-width solid var(--mainColor); - my-global-icon { - margin-left: $additional-margin - $border-left-width; - } + my-global-icon { + @include margin-left($additional-margin - $border-left-width); } } } } .login-buttons-block { - margin: 30px 25px 35px 25px; - - .login-button { - @include peertube-button-link; - @include orange-button; + margin: 30px 25px 35px; + > a { display: block; width: 100%; - margin-bottom: 10px; - } - - .create-account-button { - @include peertube-button-link; - display: block; - width: 100%; + &:not(:last-child) { + margin-bottom: 10px; + } + } +} - color: #fff; - background-color: rgba(255, 255, 255, 0.25); +.create-account-button { + color: #fff; + background-color: rgba(255, 255, 255, 0.25); - &:hover { - background-color: rgba(255, 255, 255, 0.28); - } + &:hover { + background-color: rgba(255, 255, 255, 0.28); } } -.in-my-library, -.on-instance, +.menu-block, .footer-block { margin-bottom: 15px; .block-title { + @include ellipsis; + @include margin-left(26px); + @include margin-right(30px); + 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 { +.footer-bottom { + display: flex; + flex-direction: column; + padding: 0 $menu-lateral-padding; +} + +.footer-links { + &, + > div { display: flex; - flex-direction: column; - padding: 0 $menu-lateral-padding; + flex-wrap: wrap; } - $footer-links-base-opacity: .8; - - .footer-links { - &, > div { - display: flex; - flex-wrap: wrap; - } + a, + span[role=button] { + @include margin-right(8px); - a, span[role=button] { - display: inline-block; - text-decoration: none; - color: pvar(--menuForegroundColor); - 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(--menuForegroundColor)); - - display: flex; - width: auto; - height: 90%; - margin-right: .2rem; - } - } - } + display: inline-block; + text-decoration: none; + color: pvar(--menuForegroundColor); + opacity: $footer-links-base-opacity; + white-space: nowrap; + font-size: 90%; + font-weight: 500; + line-height: 1.4rem; } +} - .footer-copyleft small a { - @include disable-default-a-behaviour; +.footer-copyleft small a { + @include disable-default-a-behaviour; - color: pvar(--menuForegroundColor); - opacity: $footer-links-base-opacity - .2; - } + color: pvar(--menuForegroundColor); + opacity: $footer-links-base-opacity - .2; } .dropdown { @@ -396,32 +357,13 @@ menu { 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 { + .hover-display-toggle { display: none; } - &.settings-sensitive { - my-global-icon ::ng-deep svg { - margin-top: 2px !important; - } + .hover-display-toggle[hidden] { + display: inherit !important; } } } @@ -441,7 +383,8 @@ menu { } } - .top-menu, .footer { + .top-menu, + .footer { width: 100% !important; } @@ -449,9 +392,35 @@ menu { width: calc(100vw - 30px); } - .dropdown-item:hover, .dropdown-item:active { + .dropdown-item:hover, + .dropdown-item:active { &.settings-sensitive my-global-icon ::ng-deep svg { - margin-top: 0px !important; + margin-top: 0 !important; } } } + +my-global-icon { + &[iconName=playlists] { + @include margin-right(16px); + + height: 24px; + width: 24px; + } + + &[iconName=videos] { + position: relative; + right: -1px; + } + + &[iconName=channel] { + margin-top: -2px; + } + + &[iconName='sign-out'] { + position: relative; + right: -2px; + height: 20px; + width: 20px; + } +}