]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/sass/application.scss
Replace all glyphicon icons
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
index c0193814764d60ceb2a88a2af46738d273382902..2aa743cf1b718900dafefa582d8a24dfd7eace42 100644 (file)
@@ -1,21 +1,19 @@
-$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/';
+@use 'sass:math';
 
-@import '_bootstrap-variables';
-@import '_variables';
-@import '_mixins';
+@use '_variables' as *;
+@use '_mixins' as *;
+@use '_icons' as *;
 
-@import '_fonts';
+@use '_fonts';
 
-@import '~video.js/dist/video-js.css';
-
-$assets-path: '../../assets/';
-@import './player/index';
+@use './classes';
+@use './custom-markup';
+@use './ng-select';
 
 @import './bootstrap';
 @import './primeng-custom';
-@import './ng-select.scss';
 
-@import './classes.scss';
+@import './z-index';
 
 [hidden] {
   display: none !important;
@@ -28,13 +26,16 @@ body {
   --mainColor: #{$main-color};
   --mainColorLighter: #{$main-color-lighter};
   --mainColorLightest: #{$main-color-lightest};
+
   --mainHoverColor: #{$main-hover-color};
+  --mainBackgroundHoverColor: #{$main-background-hover-color};
+
   --mainBackgroundColor: #{$bg-color};
   --mainForegroundColor: #{$fg-color};
-  --secondaryColor: #{$secondary-color};
 
   --greyForegroundColor: #{$grey-foreground-color};
   --greyBackgroundColor: #{$grey-background-color};
+  --greySecondaryBackgroundColor: #{$grey-background-hover-color};
 
   --menuBackgroundColor: #{$menu-background};
   --menuForegroundColor: #{$menu-color};
@@ -51,6 +52,7 @@ body {
   --markdownTextareaBackgroundColor: #{$markdown-textarea-background-color};
 
   --actionButtonColor: #{$grey-foreground-color};
+
   --supportButtonBackgroundColor: #{transparent};
   --supportButtonColor: #{pvar(--actionButtonColor)};
   --supportButtonHeartColor: #{$support-button-heart};
@@ -70,6 +72,9 @@ body {
   // Allow to disable the scrollbar instead of hide it when the content fit the body
   // And not move the content and header horizontally sticked to right when the content is updating
   overflow-y: scroll;
+
+  // Fix "reboot" style that set text-align: left
+  text-align: start;
 }
 
 ::selection {
@@ -85,28 +90,35 @@ noscript,
   margin: 1rem auto;
 }
 
+a {
+  text-decoration: none;
+}
+
 strong {
   font-weight: $font-semibold;
 }
 
-input.readonly {
+input[readonly] {
   /* Force blank on readonly inputs */
   background-color: pvar(--inputBackgroundColor) !important;
 }
 
-input, textarea {
+input,
+textarea {
   outline: none;
   color: pvar(--inputForegroundColor);
 }
 
 button {
-  background: unset;
   @include disable-outline;
+
+  background: unset;
 }
 
 label {
   font-weight: $font-bold;
   font-size: 15px;
+  margin-bottom: 0.5rem;
 }
 
 code {
@@ -120,40 +132,39 @@ code {
   vertical-align: middle;
 }
 
-.form-error {
+.form-group {
+  margin-bottom: 1rem;
+}
+
+.form-error,
+.form-warning {
   display: block;
-  color: $red;
   margin-top: 5px;
 }
 
-.input-error
-my-input-toggle-hidden ::ng-deep input {
+.form-error {
+  color: $red;
+}
+
+.input-error,
+my-input-text ::ng-deep input {
   border-color: $red !important;
 }
 
-.fullWidth {
+.full-width {
   width: 100%;
-  margin-left: auto;
-  margin-right: auto;
+  margin: 0 auto;
   max-width: initial;
 }
 
-.glyphicon-black {
-  color: black;
-}
-
-.row {
-  margin: 0 !important;
-}
-
 .main-col {
-  margin-left: $menu-width;
+  @include margin-left($menu-width);
+
   width: calc(100% - #{$menu-width});
   outline: none;
 
   .margin-content {
-    margin-left: pvar(--horizontalMarginContent);
-    margin-right: pvar(--horizontalMarginContent);
+    margin: 0 pvar(--horizontalMarginContent);
     flex-grow: 1;
   }
 
@@ -162,8 +173,7 @@ my-input-toggle-hidden ::ng-deep input {
     width: 100%;
     display: flex;
     align-items: center;
-    padding-left: pvar(--horizontalMarginContent);
-    padding-right: pvar(--horizontalMarginContent);
+    padding: 0 pvar(--horizontalMarginContent);
     height: $sub-menu-height;
     margin-bottom: $sub-menu-margin-bottom;
     overflow-x: auto;
@@ -185,30 +195,30 @@ my-input-toggle-hidden ::ng-deep input {
     --horizontalMarginContent: #{$expanded-horizontal-margins};
     --mainColWidth: 100vw;
 
-    margin-left: 0;
+    @include margin-left(0);
     width: 100%;
   }
 
-  &.lock-scroll .main-row > router-outlet + * {
+  &.lock-scroll .main-row > router-outlet + * {  /* stylelint-disable-line selector-max-compound-selectors */
     // Lock and hide body scrollbars
     position: fixed;
 
     // Lock and hide sub-menu scrollbars
-    .sub-menu {
+    .sub-menu { /* stylelint-disable-line */
       overflow-x: hidden;
     }
   }
 }
 
 .title-page {
+  @include disable-default-a-behaviour;
+  @include margin-right(55px);
+
   opacity: 0.6;
   color: pvar(--mainForegroundColor);
   font-size: 16px;
   display: inline-block;
-  margin-right: 55px;
   font-weight: $font-semibold;
-  @include disable-default-a-behaviour;
-
   border-bottom: 2px solid transparent;
 
   &.title-page-single {
@@ -224,17 +234,23 @@ my-input-toggle-hidden ::ng-deep input {
     font-size: 125%;
   }
 
-  &:hover, &:active, &:focus {
+  &:hover,
+  &:active,
+  &:focus {
     color: pvar(--mainForegroundColor);
   }
 
-  &.active, &:hover,  &:active, &:focus, &.title-page-single {
+  &.active,
+  &:hover,
+  &:active,
+  &:focus,
+  &.title-page-single {
     opacity: 1;
-    outline: 0px hidden !important;
+    outline: 0 hidden !important;
   }
 
   @media screen and (max-width: $mobile-view) {
-    margin-right: 15px;
+    @include margin-left(15px);
   }
 }
 
@@ -248,41 +264,21 @@ my-input-toggle-hidden ::ng-deep input {
   display: flex;
   align-items: center;
   margin-bottom: 30px;
-
-  .form-sub-title {
-    flex-grow: 1;
-  }
-
-  .admin-sub-nav a {
-    @include disable-default-a-behaviour;
-
-    font-size: 16px;
-    color: pvar(--mainForegroundColor);
-    padding: 5px 15px;
-    border-radius: 0.25rem;
-    font-weight: $font-semibold;
-    opacity: 0.6;
-
-    &.active {
-      background-color: pvar(--submenuBackgroundColor);
-    }
-
-    &.active, &:hover, &:active, &:focus {
-      opacity: 1;
-    }
-  }
-}
-
-.form-sub-title {
-  font-size: 20px;
-  font-weight: bold;
 }
 
 // In tables, don't have a hover different background
 table {
-  .action-button-edit, .action-button-delete {
-    &:hover, &:active, &:focus, &[disabled], &.disabled {
-      background-color: $grey-background-color !important;
+  my-edit-button,
+  my-delete-button {
+    .action-button {
+      &:hover,
+      &:active,
+      &:focus,
+      &[disabled],
+      &.disabled {
+        background-color: pvar(--greyBackgroundColor) !important;
+        opacity: 0.8;
+      }
     }
   }
 }
@@ -308,6 +304,37 @@ table {
   }
 }
 
+my-global-icon[iconName=external-link] {
+  margin: 0 3px;
+  width: 13px;
+  vertical-align: text-bottom;
+  color: pvar(--inputPlaceholderColor);
+}
+
+.chevron-down {
+  @include chevron-down(0.55rem, 0.15rem);
+
+  margin: 0 8px;
+}
+
+.chevron-up {
+  @include chevron-up(0.55rem, 0.15rem);
+
+  margin: 0 8px;
+}
+
+.chevron-right {
+  @include chevron-right(0.55rem, 0.15rem);
+
+  margin: 0 8px;
+}
+
+.chevron-left {
+  @include chevron-left(0.55rem, 0.15rem);
+
+  margin: 0 8px;
+}
+
 /* offsetTop for scrollToAnchor */
 
 .anchor {
@@ -322,27 +349,43 @@ table {
 }
 
 .form-group-description {
-  @extend .text-muted;
+  @extend .muted !optional;
 
   font-size: 90%;
   margin-top: 10px;
 }
 
-ngx-loading-bar {
-  z-index: z(header) + 1 !important;
+.callout {
+  padding: 1.25rem;
+  border: 1px solid #eee;
+  border-radius: .25rem;
+  position: relative;
+
+  > label {
+    position: relative;
+    top: -5px;
+    left: -10px;
+    color: #6c757d !important;
+  }
+
+  &:not(.callout-light) {
+    border-left-width: .25rem;
+  }
+
+  &.callout-info {
+    border-color: pvar(--mainColorLightest);
+    border-left-color: pvar(--mainColor);
+  }
 }
 
 @media screen and (max-width: #{breakpoint(xxl)}) {
   .main-col {
-    & {
-      --horizontalMarginContent: #{$not-expanded-horizontal-margins / 2};
-    }
+    --horizontalMarginContent: #{math.div($not-expanded-horizontal-margins, 2)};
+    --videosHorizontalMarginContent: 30px;
 
     &.expanded {
-      --horizontalMarginContent: #{$expanded-horizontal-margins / 2};
+      --horizontalMarginContent: #{math.div($expanded-horizontal-margins, 2)};
     }
-
-    --videosHorizontalMarginContent: 30px;
   }
 }
 
@@ -351,14 +394,13 @@ ngx-loading-bar {
     --videosHorizontalMarginContent: #{pvar(--horizontalMarginContent)};
   }
 
-  /* the following applies from 500px to 900px and is partially overriden from 500px to 800px by changes below to $small-view */
+  /* the following applies from 500px to 900px and is partially overridden from 500px to 800px by changes below to $small-view */
   .main-col,
   .main-col.expanded {
-    --horizontalMarginContent: #{$expanded-horizontal-margins / 3};
+    --horizontalMarginContent: #{math.div($expanded-horizontal-margins, 3)};
 
     .sub-menu {
-      padding-left: 50px;
-      padding-right: 50px;
+      padding: 0 50px;
 
       .title-page {
         font-size: 17px;
@@ -378,12 +420,11 @@ ngx-loading-bar {
   .main-col.expanded {
     --horizontalMarginContent: 15px;
 
-    margin-left: 0;
+    @include margin-left(0);
 
     .sub-menu {
       width: 100vw;
-      padding-left: 15px;
-      padding-right: 15px;
+      padding: 0 15px;
       margin-bottom: $sub-menu-margin-bottom-small-view;
       overflow-x: auto;
     }
@@ -394,7 +435,7 @@ ngx-loading-bar {
     }
 
     .admin-sub-header {
-      @include admin-sub-header-responsive;
+      flex-direction: column;
     }
 
     my-markdown-textarea {