]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/menu/menu.component.scss
switch from softies to feathericons
[github/Chocobozzz/PeerTube.git] / client / src / app / menu / menu.component.scss
index f30b8941391b76446aa31b7fe8902e1ccb0e92f4..407d79725c57290c25c0d2453473a5527ec3e29d 100644 (file)
@@ -6,18 +6,19 @@
   height: calc(100vh - #{$header-height});
   padding: 0;
   width: $menu-width;
-  z-index: 10000;
+  z-index: z(menu);
+  scrollbar-color: pvar(--actionButtonColor) pvar(--menuBackgroundColor);
 }
 
 menu {
-  background-color: var(--menuBackgroundColor);
+  @include ellipsis;
+
+  background-color: pvar(--menuBackgroundColor);
   margin: 0;
   padding: 0;
   height: 100%;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: auto;
-  color: var(--menuForegroundColor);
+  overflow-x: hidden;
+  color: pvar(--menuForegroundColor);
   display: flex;
   flex-direction: column;
   width: 100%;
@@ -26,6 +27,20 @@ menu {
     overflow-y: auto;
   }
 
+  @media not all and (hover: hover) and (pointer: fine) {
+    overflow-y: auto;
+  }
+
+  &.logged-in {
+    .panel-block {
+      margin-bottom: 20px;
+    }
+
+    .block-title {
+      margin-bottom: 15px;
+    }
+  }
+
   .top-menu {
     flex-grow: 1;
     width: $menu-width;
@@ -37,40 +52,45 @@ menu {
     display: flex;
     align-items: center;
     justify-content: center;
-    margin-bottom: 35px;
+    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: var(--menuForegroundColor);
+        color: pvar(--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;
+        cursor: pointer;
       }
     }
 
     .logged-in-more {
       margin-right: 20px;
 
-      .glyphicon {
+      my-global-icon.dropdown-toggle {
         cursor: pointer;
-        font-size: 18px;
 
         &::after {
           border: none;
         }
+
+        ::ng-deep {
+          @include apply-svg-color(pvar(--menuForegroundColor));
+        }
       }
     }
   }
@@ -111,18 +131,22 @@ menu {
   }
 
   .panel-block {
-    margin-bottom: 45px;
+    margin-bottom: 15px;
 
     a {
+      @include disable-default-a-behaviour;
+
       display: flex;
       align-items: center;
       padding-left: $menu-lateral-padding;
-      color: var(--menuForegroundColor);
+      color: pvar(--menuForegroundColor);
       cursor: pointer;
-      height: 40px;
+      min-height: 40px;
       font-size: 16px;
       transition: background-color .1s ease-in-out;
-      @include disable-default-a-behaviour;
+      white-space: normal;
+      word-break: break-word;
+      padding-right: 20px;
 
       &.active {
         background-color: rgba(255, 255, 255, 0.15);
@@ -132,120 +156,199 @@ menu {
         background-color: rgba(255, 255, 255, 0.10);
       }
 
-      .icon {
-        @include icon(22px);
+      my-global-icon {
+        @include apply-svg-color(#808080);
 
+        display: flex;
+        width: 22px;
+        height: 22px;
         margin-right: 18px;
 
-        &.icon-videos-subscriptions {
-          position: relative;
-          top: -1px;
-          background-image: url('../../assets/images/menu/subscriptions.svg');
-        }
+        &[iconName="playlists"] {
+          height: 24px;
+          width: 24px;
 
-        &.icon-videos-overview {
-          position: relative;
-          background-image: url('../../assets/images/menu/globe.svg');
+          margin-right: 16px;
         }
 
-        &.icon-videos-trending {
+        &[iconName="videos"] {
           position: relative;
-          top: -1px;
-          background-image: url('../../assets/images/menu/trending.svg');
-        }
-
-        &.icon-videos-recently-added {
-          width: 23px;
-          height: 23px;
-          background-image: url('../../assets/images/menu/recently-added.svg');
+          right: -1px;
         }
+      }
 
-        &.icon-videos-local {
-          width: 23px;
-          height: 23px;
+      .icon {
+        @include icon(22px);
 
-          position: relative;
-          top: -1px;
+        margin-right: 18px;
+      }
+    }
+  }
 
-          background-image: url('../../assets/images/menu/home.svg');
-        }
+  .footer {
+    width: $menu-width;
+    padding-bottom: 15px;
 
-        &.icon-administration {
-          width: 23px;
-          height: 23px;
+    .bottom-links {
+      display: flex;
+      flex-direction: column;
+      padding: 0 $menu-lateral-padding;
+    }
 
-          background-image: url('../../assets/images/menu/administration.svg');
-        }
+    $footer-links-base-opacity: .8;
 
-        &.icon-about  {
-          width: 23px;
-          height: 23px;
+    .footer-links {
+      &, > div {
+        display: flex;
+        flex-wrap: wrap;
+      }
 
-          background-image: url('../../assets/images/menu/about.svg');
+      a, span[role=button] {
+        display: inline-block;
+        text-decoration: none;
+        color: pvar(--mainBackgroundColor);
+        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;
+          height: 1.4rem;
+
+          my-global-icon {
+            @include apply-svg-color(pvar(--mainBackgroundColor));
+
+            display: flex;
+            width: auto;
+            height: 90%;
+            margin-right: .2rem;
+          }
         }
       }
     }
+
+    .footer-copyleft small a {
+      @include disable-default-a-behaviour;
+
+      color: pvar(--mainBackgroundColor);
+      opacity: $footer-links-base-opacity - .2;
+    }
   }
+}
 
-  .footer {
-    padding-bottom: 15px;
-    padding-left: $menu-lateral-padding;
-    padding-right: $menu-lateral-padding;
-    width: $menu-width;
+.dropdown-menu {
+  width: calc(100% + 40px);
+}
 
-    .language, .shortcuts, .color-palette {
-      display: inline-block;
-      color: $menu-bottom-color;
-      cursor: pointer;
-      font-size: 12px;
-      font-weight: $font-semibold;
+.dropdown-item {
+  @include dropdown-with-icon-item;
 
-      .icon {
-        @include disable-outline;
-        @include icon(28px);
-        opacity: 0.9;
+  cursor: pointer;
+  display: flex;
+  align-items: center;
 
-        &.icon-language  {
-          position: relative;
-          top: -1px;
-          width: 28px;
-          height: 24px;
+  i.glyphicon-menu-right {
+    opacity: .4;
+  }
 
-          background-image: url('../../assets/images/menu/language.png');
-        }
+  my-global-icon {
+    &[iconName="cog"],
+    &[iconName="sign-out"] {
+      position: relative;
+      right: -2px;
+      height: 20px;
+      width: 20px;
+    }
+  }
 
-        &.icon-shortcuts  {
-          position: relative;
-          top: -1px;
-          width: 24px;
-          height: 24px;
+  my-global-icon.not-displayed {
+    display: none;
+  }
 
-          background-image: url('../../assets/images/menu/keyboard.png');
-          background-color: #fff;
-          filter: invert(100%);
-        }
+  &:hover {
+    my-global-icon.hover-display-toggle.not-displayed {
+      display: inherit;
+    }
+    my-global-icon.hover-display-toggle {
+      display: none;
+    }
+  }
+}
 
-        &.icon-moonsun  {
-          margin-left: 10px;
-          position: relative;
-          top: -1px;
-          width: 24px;
-          height: 24px;
+.more-settings {
+  text-transform: uppercase;
+  font-size: 80%;
+  color: #6c757d;
+}
 
-          background-image: url('../../assets/images/menu/moonsun.svg');
-        }
+.icon {
+  @include disable-outline;
+  @include icon(22px);
+  opacity: 0.8;
 
-        &:hover {
-          opacity: 1;
-        }
-      }
-    }
+  &.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;
+
+    menu {
+      overflow-y: auto;
+    }
   }
 
   .top-menu, .footer {