]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/sass/application.scss
Design follow admin page
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
index 285339d4230612def2fbe38cd5abd06e946f7b10..ecbb8dac5e1bf840190bc47992475d14215bb30e 100644 (file)
@@ -1,21 +1,38 @@
-@import '../../node_modules/video.js/dist/video-js.css';
+$FontPathSourceSansPro: "../fonts/source-sans-pro";
+@import '~source-sans-pro/source-sans-pro';
+@import '~primeng/resources/themes/bootstrap/theme.css';
+@import '~primeng/resources/primeng.css';
+@import '~video.js/dist/video-js.css';
 @import './video-js-custom.scss';
 
 [hidden] {
   display: none !important;
 }
 
+body {
+  font-family: 'Source Sans Pro';
+  font-weight: $font-regular;
+  color: #000;
+}
+
 input.readonly {
   /* Force blank on readonly inputs */
   background-color: #fff !important;
 }
 
-.form-control, .btn {
-  border-radius: 0;
+label {
+  font-weight: $font-bold;
+  font-size: 15px;
 }
 
-.dropdown-menu {
-  border-radius: 0;
+.form-error {
+  display: block;
+  color: $red-error;
+  margin-top: 5px;
+}
+
+.input-error {
+  border-color: $red-error !important;
 }
 
 .glyphicon-black {
@@ -23,45 +40,288 @@ input.readonly {
 }
 
 .main-col {
+  margin-left: $menu-width;
+
+  .margin-content {
+    margin-left: $not-expanded-horizontal-margins;
+    margin-right: $not-expanded-horizontal-margins;
+  }
+
+  .sub-menu {
+    background-color: #F7F7F7;
+    width: 100%;
+    height: 81px;
+    margin-bottom: 30px;
+    display: flex;
+    align-items: center;
+    padding-left: $not-expanded-horizontal-margins;
+  }
+
+  // Override some properties if the main content is expanded (no menu on the left)
+  &.expanded {
+    margin-left: 0;
+
+    .margin-content {
+      margin-left: $expanded-horizontal-margins;
+      margin-right: $expanded-horizontal-margins;
+    }
+
+    .sub-menu {
+      padding-left: $expanded-horizontal-margins;
+    }
+  }
+}
+
+.title-page {
+  color: #000;
+  font-size: 16px;
+  display: inline-block;
+  margin-right: 55px;
+  font-weight: $font-semibold;
+  @include disable-default-a-behaviour;
+
+  &.active, &.title-page-single {
+    border-bottom: 2px solid $orange-color;
+    font-weight: $font-bold;
+    margin-top: 30px;
+    margin-bottom: 25px;
+  }
+
+  &:hover, &:active, &:focus {
+    color: #000;
+  }
+}
+
+.admin-sub-header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 30px;
+
+  .admin-sub-title {
+    flex-grow: 1;
+  }
+}
+
+.admin-sub-title {
+  font-size: 20px;
+  font-weight: bold;
+}
+
+// On small screen, menu is absolute and displayed over the page
+@media screen and (max-width: 500px) {
+  .title-menu-left {
+    width: 120px;
+    position: absolute !important;
+    z-index: 10000;
+  }
+
+  .main-col {
+    width: 100% !important;
+  }
+
+  .fake-menu {
+    display: none;
+  }
+}
+
+// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
+.glyphicon-refresh-animate {
+  -animation: spin .7s infinite linear;
+  -ms-animation: spin .7s infinite linear;
+  -webkit-animation: spinw .7s infinite linear;
+  -moz-animation: spinm .7s infinite linear;
+}
+
+@keyframes spin {
+  from { transform: scale(1) rotate(0deg);}
+  to { transform: scale(1) rotate(360deg);}
+}
+
+@-webkit-keyframes spinw {
+  from { -webkit-transform: rotate(0deg);}
+  to { -webkit-transform: rotate(360deg);}
+}
+
+@-moz-keyframes spinm {
+  from { -moz-transform: rotate(0deg);}
+  to { -moz-transform: rotate(360deg);}
+}
+
+// ngprime data table customizations
+p-datatable {
+  font-size: 15px !important;
 
-  .content-padding {
-    padding: 15px 30px;
+  .ui-datatable-scrollable-header {
+    background-color: #fff !important;
+  }
+
+  .ui-widget-content {
+    border: none !important;
+  }
 
-    @media screen and (max-width: 800px) {
-      padding: 15px 10px;
+  .ui-datatable-virtual-table {
+    border-top: none !important;
+  }
+
+  td {
+    border: 1px solid #E5E5E5 !important;
+    padding: 15px;
+  }
+
+  tr {
+    background-color: #fff !important;
+    height: 46px;
+
+    &:hover {
+      background-color: #f0f0f0 !important;
     }
 
-    @media screen and (min-width: 1400px) {
-      padding: 15px 40px;
+    &:not(:hover) {
+      .action-cell * {
+        display: none !important;
+      }
     }
 
-    @media screen and (min-width: 1600px) {
-      padding: 15px 50px;
+    &:first-child td {
+      border-top: none !important;
+    }
+  }
+
+  th {
+    border: none !important;
+    border-bottom: 1px solid #f0f0f0 !important;
+    text-align: left !important;
+    padding: 5px 0 5px 15px !important;
+    font-weight: $font-semibold !important;
+    color: #000 !important;
+
+    &.ui-state-active, &.ui-sortable-column:hover {
+      background-color: #f0f0f0 !important;
+      border: 1px solid #f0f0f0 !important;
     }
+  }
+
+  .action-cell {
+    width: 250px !important;
+    padding: 0 !important;
+    text-align: center;
+  }
+
+  p-paginator {
+    overflow: hidden;
+    display: block;
+    padding-top: 2px;
+    border: 1px solid #f0f0f0 !important;
+    border-top: none !important;
+
+    .ui-paginator-bottom {
+      position: relative;
+      border: none !important;
+      border-top: 1px solid #f0f0f0 !important;
+      box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.16);
+      height: 40px;
+      display: flex;
+      justify-content: center;
+      align-items: center;
 
-    @media screen and (min-width: 1800px) {
-      padding: 15px 60px;
+      a {
+        color: #000 !important;
+        font-weight: $font-semibold !important;
+        margin-right: 20px !important;
+        outline: 0 !important;
+        border-radius: 3px !important;
+        padding: 5px 2px !important;
+
+        &.ui-state-active {
+          &, &:hover, &:active, &:focus {
+            color: #fff !important;
+            background-color: $orange-color !important;
+          }
+        }
+      }
     }
   }
 }
 
-/* some fixes for ng2-smart-table */
-ng2-smart-table {
-  thead tr {
-    border-top: 1px solid rgb(233, 235, 236)
+// Bootstrap customizations
+.dropdown-menu {
+  border-radius: 3px;
+  box-shadow: 0 3px 6px;
+  font-size: 15px;
+
+  .dropdown-item {
+    padding: 3px 15px;
+  }
+
+  a {
+    color: #000 !important;
   }
+}
+
+.modal {
+  .modal-header {
+    border-bottom: none;
 
-  td, th {
-    padding: 8px !important;
-    color: #333333 !important;
-    font-size: 14px !important;
+    .title-page-single {
+      margin: 0;
+    }
   }
+}
+
+.nav {
+  font-size: 16px !important;
+  border: none !important;
+
+  .nav-item .nav-link {
+    margin-right: 30px;
+    padding: 0;
+    border-radius: 3px;
+    border: none !important;
+
+    .tab-link {
+      display: flex !important;
+      align-items: center;
+      height: 30px !important;
+      padding: 0 15px;
+    }
+
+    &, & a {
+      color: #000 !important;
+      @include disable-default-a-behaviour;
+    }
+
+    &.active, &:hover {
+      background-color: #F0F0F0;
+    }
 
-  .ng2-smart-pagination-nav .page-link {
-    font-size: 11px !important;
+    &.active {
+      font-weight: $font-semibold !important;
+    }
   }
 
-  .glyphicon {
-    font-family: 'Glyphicons Halflings' !important;
+  .tab-content {
+    min-height: 75px;
+    padding: 15px;
   }
 }
+
+
+.orange-button {
+  @include peertube-button;
+  @include orange-button;
+}
+
+.orange-button-link {
+  @include peertube-button-link;
+  @include orange-button;
+}
+
+.grey-button {
+  @include peertube-button;
+  @include grey-button;
+}
+
+.grey-button-link {
+  @include peertube-button-link;
+  @include grey-button;
+}