]> 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 1f3c889cf88da634ed8776561d9d70c4ef3eb278..9241e8059a0e03a1da0b5b4f50e585bc099d5ac9 100644 (file)
@@ -1,16 +1,45 @@
 @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;
+  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 {
     height: 100px;
@@ -18,33 +47,27 @@ menu {
     display: flex;
     align-items: center;
     justify-content: center;
-    margin-bottom: 35px;
-
-    img {
-      @include avatar(34px);
-
-      margin-left: 20px;
-      margin-right: 10px;
-    }
+    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;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
         max-width: 140px;
       }
     }
@@ -52,9 +75,32 @@ menu {
     .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;
+          }
+        }
       }
     }
   }
@@ -91,55 +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;
 
+      &.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;
+        margin-right: 18px;
+
+        &[iconName="playlists"] {
+          height: 24px;
+          width: 24px;
+
+          margin-right: 16px;
+        }
+
+        &[iconName="videos"] {
+          position: relative;
+          right: -1px;
+        }
+      }
+
       .icon {
         @include icon(22px);
 
         margin-right: 18px;
+      }
+    }
+  }
 
-        &.icon-videos-trending {
+  .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/images/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/images/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/administration.svg');
+          background-image: url('../../assets/images/menu/moonsun.svg');
         }
 
-        &.icon-about  {
-          width: 23px;
-          height: 23px;
-
-          background-image: url('../../assets/images/menu/about.svg');
+        &:hover {
+          opacity: 1;
         }
       }
     }
   }
 }
+
+@media screen and (max-width: $mobile-view) {
+  .menu-wrapper {
+    width: 100% !important;
+  }
+
+  .top-menu, .footer {
+    width: 100% !important;
+  }
+}