$menu-link-icon-size: 22px;
$menu-link-icon-margin-right: 18px;
+$footer-links-base-opacity: .8;
@mixin menu-link {
display: flex;
word-break: break-word;
padding-right: 20px;
transition: background-color .1s ease-in-out;
+ line-height: $line-height-normal;
&.active {
background-color: rgba(255, 255, 255, 0.15);
height: 80px;
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: left;
- .logged-in-info {
- @include ellipsis;
+ my-notification {
+ margin-left: auto;
+ margin-right: 15px;
+ }
+ }
+}
- flex-grow: 1;
+.logged-in-more {
+ $main-radius: 25px;
- .logged-in-display-name {
- font-size: 16px;
- font-weight: $font-semibold;
- color: pvar(--menuForegroundColor);
- cursor: pointer;
+ flex: 1;
+ margin-left: 13px;
+ border-radius: $main-radius;
+ transition: all .1s ease-in-out;
+ cursor: pointer;
- @include disable-default-a-behaviour;
- }
+ *, & {
+ line-height: 1;
+ }
- .logged-in-username {
- @include ellipsis;
+ &.show {
+ background-color: rgba(255, 255, 255, 0.20);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325);
+ }
+
+ @mixin display-hints($is-mobile: false) {
+ background-color: rgba(255, 255, 255, 0.15);
- font-size: 13px;
- color: #C6C6C6;
- max-width: 140px;
- cursor: pointer;
+ @if $is-mobile {
+ .dropdown-toggle-indicator {
+ display: inherit !important;
}
+ .dropdown-toggle:first-child {
+ padding-right: 30px !important;
+ }
+ }
+ }
+
+ &:hover {
+ @include display-hints;
+ }
+
+ /* smartphones and touchscreens */
+ @media (hover: none) and (pointer: coarse) {
+ @include display-hints($is-mobile: true);
+
+ /* fill space when on mobile */
+ max-width: calc(100% - 80px);
+ .dropdown-toggle {
+ max-width: 100%;
+ }
+ .logged-in-info {
+ max-width: calc(100% - 45px) !important;
}
- .logged-in-more {
- margin-right: 20px;
+ }
- my-global-icon.dropdown-toggle {
- cursor: pointer;
+ .dropdown-toggle-indicator {
+ position: relative;
+ width: 0;
+ display: none;
- &::after {
- border: none;
- }
+ span {
+ position: absolute;
+ right: -35px;
+ top: -8px;
+ color: grey;
+ width: $main-radius;
+ }
+ }
- ::ng-deep {
- @include apply-svg-color(pvar(--menuForegroundColor));
- }
- }
+ .dropdown-toggle {
+ &::after {
+ border: none;
}
}
- .logged-in-menu {
+ .dropdown-toggle:first-child {
display: flex;
- flex-direction: column;
- align-items: flex-start;
- border-top: 1px solid var(--greyForegroundColor);
+ align-items: center;
+ padding: 5px 7px;
+ border-radius: $main-radius;
+ }
- a {
- @include menu-link;
- @include disable-default-a-behaviour;
+ img {
+ @include avatar(34px);
- $icon-size: 13px;
- $additional-margin: ($menu-link-icon-size - $icon-size) / 2;
+ margin-right: 10px;
+ }
+}
- font-size: 14px;
- width: 100%;
- min-height: 35px;
+.logged-in-info {
+ max-width: 105px;
- my-global-icon {
- width: $icon-size;
- height: $icon-size;
+ flex-grow: 1;
+
+ .logged-in-display-name,
+ .logged-in-username {
+ @include ellipsis;
+ }
+
+ .logged-in-display-name {
+ font-size: 16px;
+ font-weight: $font-semibold;
+ color: pvar(--menuForegroundColor);
+
+ @include disable-default-a-behaviour;
+ }
+
+ .logged-in-username {
+ font-size: 13px;
+ color: #C6C6C6;
+ margin-top: 3px;
+ }
+}
+
+.logged-in-menu {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ border-top: 1px solid var(--greyForegroundColor);
+ line-height: $line-height-normal;
+
+ a {
+ @include menu-link;
+ @include disable-default-a-behaviour;
+
+ $icon-size: 13px;
+ $additional-margin: ($menu-link-icon-size - $icon-size) / 2;
- // Keep aligned with other icons
- margin-left: $additional-margin;
+ font-size: 14px;
+ width: 100%;
+ min-height: 35px;
- &[iconName="channel"] {
- margin-top: -2px;
- }
+ 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,
+ &: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 {
+ margin-left: $additional-margin - $border-left-width;
}
}
}
flex-direction: column;
padding: 0 $menu-lateral-padding;
}
+}
- $footer-links-base-opacity: .8;
-
- .footer-links {
- &, > div {
- display: flex;
- flex-wrap: wrap;
- }
+.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;
+ 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;
- 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;
- }
+ height: 1.4rem;
+
+ my-global-icon {
+ @include apply-svg-color(pvar(--menuForegroundColor));
+
+ display: flex;
+ width: auto;
+ height: 90%;
+ margin-right: .2rem;
}
}
}
+}
- .footer-copyleft small a {
- @include disable-default-a-behaviour;
+.footer-copyleft small a {
+ @include disable-default-a-behaviour;
- color: pvar(--mainBackgroundColor);
- opacity: $footer-links-base-opacity - .2;
- }
+ color: pvar(--menuForegroundColor);
+ opacity: $footer-links-base-opacity - .2;
}
.dropdown {
my-global-icon.hover-display-toggle {
display: none;
}
+
+ &.settings-sensitive {
+ my-global-icon ::ng-deep svg {
+ margin-top: 2px !important;
+ }
+ }
}
}
color: #6c757d;
}
-.icon {
- @include disable-outline;
- @include icon($menu-link-icon-size);
- opacity: 0.8;
-
- &.icon-shortcuts {
- position: relative;
- top: -1px;
- margin-right: 10px;
-
- background-image: url('../../assets/images/misc/keyboard.png');
- }
-}
-
-input[type=checkbox]{
- position: absolute;
- visibility: hidden;
-}
-
-label {
- cursor: pointer;
- text-indent: -9999px;
- width: 35px;
- height: 20px;
- background: #cccccc;
- display: block;
- border-radius: 100px;
- position: relative;
- margin: 0;
-
- &:after {
- content: '';
- position: absolute;
- top: 3px;
- left: 3px;
- width: 14px;
- height: 14px;
- background: pvar(--mainBackgroundColor);
- border-radius: 50%;
- transition: 0.3s ease-out;
- }
-
- &:active:after {
- width: 40px;
- }
-}
-
-input:checked + label {
- background: pvar(--mainColor);
-
- &:after {
- left: calc(100% - 3px);
- transform: translateX(-100%);
- }
-}
-
@media screen and (max-width: $mobile-view) {
.menu-wrapper {
width: 100% !important;
.top-menu, .footer {
width: 100% !important;
}
+
+ .dropdown-menu {
+ width: calc(100vw - 30px);
+ }
+
+ .dropdown-item:hover, .dropdown-item:active {
+ &.settings-sensitive my-global-icon ::ng-deep svg {
+ margin-top: 0px !important;
+ }
+ }
}