about summary refs log tree commit diff
path: root/app/assets
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-12-13 13:42:10 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-12-13 13:42:10 +0100
commit76ec90799352603406728cb51b4e70913413f2bd (patch)
treeb6ab2aa6e04d99c89f0a8ac6442170ca539ba6b8 /app/assets
parent668013265c3153383088d9dd53970ae837c1d405 (diff)
Improved admin UI
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/components/features/notifications/index.jsx6
-rw-r--r--app/assets/stylesheets/admin.scss105
-rw-r--r--app/assets/stylesheets/application.scss1
-rw-r--r--app/assets/stylesheets/tables.scss34
4 files changed, 131 insertions, 15 deletions
diff --git a/app/assets/javascripts/components/features/notifications/index.jsx b/app/assets/javascripts/components/features/notifications/index.jsx
index 00feeece7..218196cfd 100644
--- a/app/assets/javascripts/components/features/notifications/index.jsx
+++ b/app/assets/javascripts/components/features/notifications/index.jsx
@@ -26,6 +26,12 @@ const Notifications = React.createClass({
     trackScroll: React.PropTypes.bool
   },
 
+  getDefaultProps () {
+    return {
+      trackScroll: true
+    };
+  },
+
   mixins: [PureRenderMixin],
 
   componentWillMount () {
diff --git a/app/assets/stylesheets/admin.scss b/app/assets/stylesheets/admin.scss
new file mode 100644
index 000000000..6e4234d13
--- /dev/null
+++ b/app/assets/stylesheets/admin.scss
@@ -0,0 +1,105 @@
+.admin-wrapper {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  background: #1a1c23;
+  overflow-y: scroll;
+
+  .sidebar {
+    width: 240px;
+    position: fixed;
+    left: 0;
+    height: 100%;
+    background: #282c37;
+
+    .logo {
+      display: block;
+      margin: 40px auto;
+      width: 100px;
+      height: 100px;
+    }
+
+    ul {
+      list-style: none;
+
+      a {
+        display: block;
+        padding: 15px 25px;
+        color: rgba(255, 255, 255, 0.7);
+        text-decoration: none;
+        transition: all 200ms linear;
+
+        i.fa {
+          margin-right: 5px;
+        }
+
+        &:hover {
+          color: #fff;
+          background-color: darken(#282c37, 5%);
+          transition: all 100ms linear;
+        }
+
+        &.selected {
+          color: #fff;
+          background-color: #2b90d9;
+
+          &:hover {
+            background-color: lighten(#2b90d9, 5%);
+          }
+        }
+      }
+    }
+  }
+
+  .content {
+    margin-left: 240px;
+    padding: 15px;
+  }
+}
+
+.filters {
+  display: flex;
+  margin-bottom: 20px;
+  padding-left: 8px;
+
+  .filter-subset {
+    flex: 0 0 auto;
+    margin-right: 40px;
+
+    ul {
+      margin-top: 5px;
+      list-style: none;
+
+      li {
+        display: inline-block;
+        margin-right: 5px;
+      }
+    }
+
+    strong {
+      font-weight: 500;
+      text-transform: uppercase;
+      font-size: 12px;
+    }
+
+    a {
+      display: inline-block;
+      color: rgba(255, 255, 255, 0.7);
+      text-decoration: none;
+      text-transform: uppercase;
+      font-size: 12px;
+      font-weight: 500;
+      border-bottom: 2px solid #282c37;
+
+      &:hover {
+        color: #fff;
+        border-bottom: 2px solid lighten(#282c37, 5%);
+      }
+
+      &.selected {
+        color: #2b90d9;
+        border-bottom: 2px solid #2b90d9;
+      }
+    }
+  }
+}
diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index bbbeafefe..609b30726 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -235,3 +235,4 @@ body {
 @import 'components';
 @import 'about';
 @import 'tables';
+@import 'admin';
diff --git a/app/assets/stylesheets/tables.scss b/app/assets/stylesheets/tables.scss
index b28b91191..a37870786 100644
--- a/app/assets/stylesheets/tables.scss
+++ b/app/assets/stylesheets/tables.scss
@@ -7,15 +7,15 @@
 
   th, td {
     padding: 8px;
-    line-height: 1.42857143;
+    line-height: 18px;
     vertical-align: top;
-    border-top: 1px solid #ddd;
+    border-top: 1px solid #282c37;
     text-align: left;
   }
 
   & > thead > tr > th {
     vertical-align: bottom;
-    border-bottom: 2px solid #ddd;
+    border-bottom: 2px solid #282c37;
     border-top: 0;
     font-weight: 500;
   }
@@ -24,6 +24,10 @@
     font-weight: 500;
   }
 
+  & > tbody > tr:nth-child(odd) > td, & > tbody > tr:nth-child(odd) > th {
+    background: lighten(#1a1c23, 2%);
+  }
+
   a {
     color: #2b90d9;
     text-decoration: underline;
@@ -38,20 +42,20 @@ samp {
   font-family: 'Roboto Mono', monospace;
 }
 
-.filters {
-  list-style: none;
-  margin-bottom: 20px;
+a.table-action-link {
+  text-decoration: none;
+  display: inline-block;
+  margin-right: 5px;
+  padding: 0 10px;
+  color: rgba(255, 255, 255, 0.7);
+  font-weight: 500;
 
-  li {
-    display: inline-block;
+  &:hover {
+    color: #fff;
   }
 
-  a {
-    color: #2b90d9;
-    text-decoration: underline;
-
-    &:hover {
-      text-decoration: none;
-    }
+  i.fa {
+    font-weight: 400;
+    margin-right: 5px;
   }
 }