]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/menu/menu.component.scss
User dropdown and notifications popover improvements (#3344)
[github/Chocobozzz/PeerTube.git] / client / src / app / menu / menu.component.scss
index e79ecb5c7886c33dc2990d0af3d4a3b8a1a961b7..89dc26e8737acd52d02dacdb831f0d8512f3564b 100644 (file)
@@ -88,47 +88,118 @@ menu {
     height: 80px;
     display: flex;
     align-items: center;
-    justify-content: center;
+    justify-content: left;
 
-    .logged-in-info {
-      @include ellipsis;
+    .logged-in-more {
+      $main-radius: 25px;
 
-      flex-grow: 1;
+      margin-left: 13px;
+      border-radius: $main-radius;
+      transition: all .1s ease-in-out;
+      cursor: pointer;
 
-      .logged-in-display-name {
-        font-size: 16px;
-        font-weight: $font-semibold;
-        color: pvar(--menuForegroundColor);
-        cursor: pointer;
+      *, & {
+        line-height: 1;
+      }
 
-        @include disable-default-a-behaviour;
+      &.show {
+        background-color: rgba(255, 255, 255, 0.20);
+        box-shadow: inset 0 3px 5px rgba(0, 0, 0, .325);
       }
 
-      .logged-in-username {
-        @include ellipsis;
+      @mixin display-hints($is-mobile: false) {
+        background-color: rgba(255, 255, 255, 0.15);
 
-        font-size: 13px;
-        color: #C6C6C6;
-        max-width: 140px;
-        cursor: pointer;
+        @if $is-mobile {
+          .dropdown-toggle-indicator {
+            display: inherit !important;
+          }
+          .dropdown-toggle:first-child {
+            padding-right: 30px !important;
+          }
+        }
       }
-    }
 
-    .logged-in-more {
-      margin-right: 20px;
+      &:hover {
+        @include display-hints;
+      }
 
-      my-global-icon.dropdown-toggle {
-        cursor: pointer;
+      /* smartphones and touchscreens */
+      @media (hover: none) and (pointer: coarse) {
+        @include display-hints($is-mobile: true);
 
+        /* 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;
+        }
+      }
+
+      .dropdown-toggle {
         &::after {
           border: none;
         }
+      }
 
-        ::ng-deep {
-          @include apply-svg-color(pvar(--menuForegroundColor));
+      .dropdown-toggle:first-child {
+        display: inline-flex;
+        align-items: center;
+        padding: 5px 7px;
+      }
+
+      img {
+        @include avatar(34px);
+
+        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 {
+          font-size: 16px;
+          font-weight: $font-semibold;
+          color: pvar(--menuForegroundColor);
+
+          @include disable-default-a-behaviour;
+        }
+
+        .logged-in-username {
+          font-size: 13px;
+          color: #C6C6C6;
         }
       }
     }
+
+    my-notification {
+      margin-left: auto;
+      margin-right: 15px;
+    }
   }
 
   .logged-in-menu {
@@ -343,6 +414,12 @@ menu {
     my-global-icon.hover-display-toggle {
       display: none;
     }
+
+    &.settings-sensitive {
+      my-global-icon ::ng-deep svg {
+        margin-top: 2px !important;
+      }
+    }
   }
 }
 
@@ -364,4 +441,14 @@ menu {
   .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;
+    }
+  }
 }