-@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;
-@mixin menu-link {
+.menu-link {
+ @include disable-default-a-behaviour;
+ @include padding-left($menu-lateral-padding);
+ @include padding-right(20px);
+
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;
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;
}
}
margin: 0;
padding: 0;
- &:focus, &:hover {
+ &:focus,
+ &:hover {
overflow-y: auto;
}
display: flex;
align-items: center;
justify-content: left;
-
- my-notification {
- margin-left: auto;
- margin-right: 15px;
- }
}
}
-.logged-in-more {
- $main-radius: 25px;
-
- flex: 1;
- margin-left: 13px;
- border-radius: $main-radius;
- transition: all .1s ease-in-out;
- cursor: pointer;
-
- *, & {
- line-height: 1;
- }
+my-notification {
+ @include margin-left(auto);
+ @include margin-right(15px);
+}
- &.show {
- background-color: rgba(255, 255, 255, 0.20);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325);
- }
+.logged-in-more {
@mixin display-hints($is-mobile: false) {
background-color: rgba(255, 255, 255, 0.15);
.dropdown-toggle-indicator {
display: inherit !important;
}
- .dropdown-toggle:first-child {
- padding-right: 30px !important;
+
+ > .dropdown-toggle {
+ max-width: 88% !important;
}
}
}
+ @include margin-left(13px);
+
+ flex: 1;
+ border-radius: 25px;
+ transition: all .1s ease-in-out;
+ cursor: pointer;
+ line-height: 1;
+
+ &.show {
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325);
+ }
+
&:hover {
@include display-hints;
}
/* fill space when on mobile */
max-width: calc(100% - 80px);
+
.dropdown-toggle {
max-width: 100%;
}
+
.logged-in-info {
max-width: calc(100% - 45px) !important;
}
-
}
.dropdown-toggle-indicator {
position: relative;
- width: 0;
display: none;
span {
position: absolute;
right: -35px;
top: -8px;
- color: grey;
- width: $main-radius;
+ color: #808080;
}
}
- .dropdown-toggle {
- &::after {
- border: none;
- }
+ .dropdown-toggle::after {
+ border: 0;
}
- .dropdown-toggle:first-child {
+ > .dropdown-toggle:first-child {
display: flex;
align-items: center;
padding: 5px 7px;
- border-radius: $main-radius;
}
+}
- my-account-avatar {
- margin-right: 10px;
- }
+my-actor-avatar {
+ @include margin-right(10px);
}
.logged-in-info {
max-width: 105px;
flex-grow: 1;
+}
- .logged-in-display-name,
- .logged-in-username {
- @include ellipsis;
- }
+.logged-in-display-name,
+.logged-in-username {
+ @include ellipsis;
+}
- .logged-in-display-name {
- font-size: 16px;
- font-weight: $font-semibold;
- color: pvar(--menuForegroundColor);
+.logged-in-display-name {
+ @include disable-default-a-behaviour;
- @include disable-default-a-behaviour;
- }
+ font-weight: $font-semibold;
+ color: pvar(--menuForegroundColor);
+}
- .logged-in-username {
- font-size: 13px;
- color: #C6C6C6;
- margin-top: 3px;
- }
+.logged-in-username {
+ font-size: 13px;
+ color: #C6C6C6;
+ margin-top: 3px;
}
.logged-in-menu {
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;
+ $additional-margin: math.div($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;
+ @include margin-left($additional-margin);
- &[iconName="channel"] {
- margin-top: -2px;
- }
+ width: $icon-size;
+ height: $icon-size;
}
&.active,
border-left: $border-left-width solid var(--mainColor);
my-global-icon {
- margin-left: $additional-margin - $border-left-width;
+ @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 {
- display: flex;
- flex-direction: column;
- padding: 0 $menu-lateral-padding;
- }
+.footer-bottom {
+ padding: 0 $menu-lateral-padding;
}
.footer-links {
- &, > div {
+ > div {
display: flex;
flex-wrap: wrap;
}
- a, span[role=button] {
- display: inline-block;
- text-decoration: none;
+ a,
+ span[role=button] {
+ @include margin-right(8px);
+ @include disable-default-a-behaviour;
+
color: pvar(--menuForegroundColor);
opacity: $footer-links-base-opacity;
white-space: nowrap;
- font-size: 90%;
- font-weight: 500;
+ font-size: 0.75rem;
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));
+ font-weight: $font-semibold;
- display: flex;
- width: auto;
- height: 90%;
- margin-right: .2rem;
- }
+ &:hover {
+ opacity: $footer-links-base-opacity + .2;
}
}
}
-.footer-copyleft small a {
+.footer-copyleft a {
@include disable-default-a-behaviour;
color: pvar(--menuForegroundColor);
opacity: $footer-links-base-opacity - .2;
+ font-size: 0.85rem;
+
+ &:hover {
+ opacity: $footer-links-base-opacity;
+ }
}
.dropdown {
.dropdown-menu {
width: calc(100% + 40px);
+
+ // Prevent weird display issue on firefox when global style is not loaded yet
+ &:not(.show) {
+ display: none;
+ }
}
.dropdown-item {
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 {
+ .hover-display-toggle {
display: none;
}
- &.settings-sensitive {
- my-global-icon ::ng-deep svg {
- margin-top: 2px !important;
- }
+ .hover-display-toggle[hidden] {
+ display: inherit !important;
}
}
}
}
}
- .top-menu, .footer {
+ .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;
- }
+my-global-icon {
+ position: relative;
+ top: -1px;
+
+ .playlist-icon {
+ @include margin-right(16px);
+
+ height: 24px;
+ width: 24px;
+ }
+
+ &.channel-icon {
+ top: -2px;
}
}