]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/menu/menu.component.scss
Add available themes and plugins in feature table
[github/Chocobozzz/PeerTube.git] / client / src / app / menu / menu.component.scss
index aa247d268fc4e5e78b0304fd1026e403f3c6877f..f0919ed289d1930ec8eeb743948e74254a4e17e6 100644 (file)
@@ -1,20 +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;
 
-@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;
 
@@ -22,17 +26,18 @@ $footer-links-base-opacity: .8;
     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;
   }
 }
 
@@ -58,7 +63,8 @@ menu {
   margin: 0;
   padding: 0;
 
-  &:focus, &:hover {
+  &:focus,
+  &:hover {
     overflow-y: auto;
   }
 
@@ -91,32 +97,15 @@ menu {
     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;
-  }
-
-  &.show {
-    background-color: rgba(255, 255, 255, 0.20);
-    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325);
-  }
+my-notification {
+  @include margin-left(auto);
+  @include margin-right(15px);
+}
 
+.logged-in-more {
   @mixin display-hints($is-mobile: false) {
     background-color: rgba(255, 255, 255, 0.15);
 
@@ -124,12 +113,28 @@ menu {
       .dropdown-toggle-indicator {
         display: inherit !important;
       }
-      .dropdown-toggle:first-child {
-        padding-right: 30px !important;
+
+      .dropdown-toggle {
+        max-width: 88% !important;
       }
     }
   }
 
+  $main-radius: 25px;
+
+  @include margin-left(13px);
+
+  flex: 1;
+  border-radius: $main-radius;
+  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;
   }
@@ -140,13 +145,14 @@ menu {
 
     /* 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 {
@@ -158,14 +164,14 @@ menu {
       position: absolute;
       right: -35px;
       top: -8px;
-      color: grey;
+      color: #808080;
       width: $main-radius;
     }
   }
 
   .dropdown-toggle {
     &::after {
-      border: none;
+      border: 0;
     }
   }
 
@@ -175,37 +181,35 @@ menu {
     padding: 5px 7px;
     border-radius: $main-radius;
   }
+}
 
-  img {
-    @include avatar(34px);
-
-    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-size: 16px;
+  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 {
@@ -216,26 +220,19 @@ 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,
@@ -253,96 +250,76 @@ menu {
       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 {
+  display: flex;
+  flex-direction: column;
+  padding: 0 $menu-lateral-padding;
 }
 
 .footer-links {
-  &, > div {
+  &,
+  > div {
     display: flex;
     flex-wrap: wrap;
   }
 
-  a, span[role=button] {
+  a,
+  span[role=button] {
+    @include margin-right(8px);
+
     display: inline-block;
     text-decoration: none;
     color: pvar(--menuForegroundColor);
@@ -351,23 +328,6 @@ menu {
     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;
-      }
-    }
   }
 }
 
@@ -397,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;
     }
   }
 }
@@ -442,7 +383,8 @@ menu {
     }
   }
 
-  .top-menu, .footer {
+  .top-menu,
+  .footer {
     width: 100% !important;
   }
 
@@ -450,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;
+  }
+}