]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/menu/menu.component.scss
Add my library section in menu
[github/Chocobozzz/PeerTube.git] / client / src / app / menu / menu.component.scss
index 5d6fd61c640a7cf92a1778b5782cd6cfb8e10c85..9241e8059a0e03a1da0b5b4f50e585bc099d5ac9 100644 (file)
@@ -1,16 +1,44 @@
+@import '_variables';
+@import '_mixins';
+
+.menu-wrapper {
+  position: fixed;
+  height: calc(100vh - #{$header-height});
+  padding: 0;
+  width: $menu-width;
+  z-index: 10000;
+}
+
 menu {
-  background-color: $black-background;
+  @include ellipsis;
+
+  background-color: var(--menuBackgroundColor);
   margin: 0;
   padding: 0;
   height: 100%;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  z-index: 1000;
-  color: $menu-color;
-
-  @media screen and (max-width: 550px) {
-    font-size: 90%;
+  overflow: auto;
+  color: var(--menuForegroundColor);
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+
+  &:focus, &:hover {
+    overflow-y: auto;
+  }
+
+  &.logged-in {
+    .panel-block {
+      margin-bottom: 25px;
+    }
+
+    .block-title {
+      margin-bottom: 15px;
+    }
+  }
+
+  .top-menu {
+    flex-grow: 1;
+    width: $menu-width;
   }
 
   .logged-in-block {
@@ -19,39 +47,60 @@ menu {
     display: flex;
     align-items: center;
     justify-content: center;
-    margin-bottom: 35px;
-
-    img {
-      margin-left: 20px;
-      margin-right: 10px;
-
-      @include avatar(34px);
-    }
+    margin-bottom: 20px;
 
     .logged-in-info {
+      @include ellipsis;
+
       flex-grow: 1;
 
-      .logged-in-username {
+      .logged-in-display-name {
         font-size: 16px;
         font-weight: $font-semibold;
-        color: $menu-color;
+        color: var(--menuForegroundColor);
         cursor: pointer;
 
         @include disable-default-a-behaviour;
       }
 
-      .logged-in-email {
+      .logged-in-username {
+        @include ellipsis;
+
         font-size: 13px;
         color: #C6C6C6;
+        max-width: 140px;
       }
     }
 
     .logged-in-more {
       margin-right: 20px;
 
-      .glyphicon {
+      my-global-icon {
+        @include apply-svg-color(var(--mainBackgroundColor));
+
         cursor: pointer;
-        font-size: 18px;
+
+        &::after {
+          border: none;
+        }
+      }
+
+      .dropdown-item {
+        @include dropdown-with-icon-item;
+
+        my-global-icon {
+          @include apply-svg-color(var(--mainForegroundColor));
+
+          width: 22px;
+          height: 22px;
+
+          &[iconName="sign-out"] {
+            position: relative;
+            right: -1px;
+            height: 21px;
+            width: 21px;
+          }
+        }
       }
     }
   }
@@ -59,28 +108,26 @@ menu {
   .button-block {
     margin: 30px 25px 35px 25px;
 
-    .login-button, .create-account-button {
-      font-weight: $font-semibold;
-      font-size: 15px;
-      height: $button-height;
-      line-height: $button-height;
-      width: 190px;
-      border-radius: 3px;
-      text-align: center;
-      color: $menu-color;
+    .login-button {
+      @include peertube-button-link;
+      @include orange-button;
+
       display: block;
-      cursor: pointer;
-      margin-bottom: 15px;
+      width: 100%;
+      margin-bottom: 10px;
+    }
 
-      @include disable-default-a-behaviour;
+    .create-account-button {
+      @include peertube-button-link;
 
-      &.login-button {
-        background-color: $orange-color;
-        margin-bottom: 10px;
-      }
+      display: block;
+      width: 100%;
 
-      &.create-account-button {
-        background-color: rgba(255, 255, 255, 0.25);
+      color: #fff;
+      background-color: rgba(255, 255, 255, 0.25);
+
+      &:hover {
+        background-color: rgba(255, 255, 255, 0.28);
       }
     }
   }
@@ -90,50 +137,122 @@ menu {
     font-weight: $font-bold; // Bold
     font-size: 13px;
     margin-bottom: 25px;
+    margin-left: 26px;
   }
 
   .panel-block {
     margin-bottom: 45px;
-    margin-left: 26px;
 
     a {
       display: flex;
-      color: $menu-color;
+      align-items: center;
+      padding-left: $menu-lateral-padding;
+      color: var(--menuForegroundColor);
       cursor: pointer;
-      height: 22px;
-      line-height: 22px;
+      height: 40px;
       font-size: 16px;
-      margin-bottom: 15px;
+      transition: background-color .1s ease-in-out;
       @include disable-default-a-behaviour;
 
-      .icon {
+      &.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: 22px;
         height: 22px;
-        display: inline-block;
         margin-right: 18px;
-        background-size: contain;
 
-        &.icon-videos-trending {
+        &[iconName="playlists"] {
+          height: 24px;
+          width: 24px;
+
+          margin-right: 16px;
+        }
+
+        &[iconName="videos"] {
+          position: relative;
+          right: -1px;
+        }
+      }
+
+      .icon {
+        @include icon(22px);
+
+        margin-right: 18px;
+      }
+    }
+  }
+
+  .footer {
+    padding-bottom: 15px;
+    padding-left: $menu-lateral-padding;
+    padding-right: $menu-lateral-padding;
+    width: $menu-width;
+
+    .language, .shortcuts, .color-palette {
+      display: inline-block;
+      color: $menu-bottom-color;
+      cursor: pointer;
+      font-size: 12px;
+      font-weight: $font-semibold;
+
+      .icon {
+        @include disable-outline;
+        @include icon(28px);
+        opacity: 0.9;
+
+        &.icon-language  {
           position: relative;
-          top: -2px;
-          background-image: url('../../assets/menu/trending.svg');
+          top: -1px;
+          width: 28px;
+          height: 24px;
+
+          background-image: url('../../assets/images/menu/language.png');
         }
 
-        &.icon-videos-recently-added {
-          width: 23px;
-          height: 23px;
+        &.icon-shortcuts  {
           position: relative;
           top: -1px;
-          background-image: url('../../assets/menu/recently-added.svg');
+          width: 24px;
+          height: 24px;
+
+          background-image: url('../../assets/images/menu/keyboard.png');
+          background-color: #fff;
+          filter: invert(100%);
         }
 
-        &.icon-administration {
-          width: 23px;
-          height: 23px;
+        &.icon-moonsun  {
+          margin-left: 10px;
+          position: relative;
+          top: -1px;
+          width: 24px;
+          height: 24px;
+
+          background-image: url('../../assets/images/menu/moonsun.svg');
+        }
 
-          background-image: url('../../assets/menu/administration.svg');
+        &:hover {
+          opacity: 1;
         }
       }
     }
   }
 }
+
+@media screen and (max-width: $mobile-view) {
+  .menu-wrapper {
+    width: 100% !important;
+  }
+
+  .top-menu, .footer {
+    width: 100% !important;
+  }
+}