فهرست منبع

Users list + Edit user interface

NGPixel 8 سال پیش
والد
کامیت
0809946914
57فایلهای تغییر یافته به همراه263 افزوده شده و 3459 حذف شده
  1. 0 0
      assets/css/app.css
  2. 0 0
      assets/js/app.js
  3. 1 0
      client/js/app.js
  4. 30 0
      client/js/modals/admin-createuser.js
  5. 6 0
      client/js/pages/admin.js
  6. 1 0
      client/scss/app.scss
  7. 0 10
      client/scss/libs/animate.min.css
  8. 0 5
      client/scss/libs/bulma/base/base.sass
  9. 0 20
      client/scss/libs/bulma/base/classes.sass
  10. 0 31
      client/scss/libs/bulma/base/classes.scss
  11. 0 100
      client/scss/libs/bulma/base/generic.sass
  12. 0 104
      client/scss/libs/bulma/base/helpers.sass
  13. 0 153
      client/scss/libs/bulma/base/helpers.scss
  14. 0 7
      client/scss/libs/bulma/bulma.sass
  15. 0 58
      client/scss/libs/bulma/components/card.sass
  16. 0 14
      client/scss/libs/bulma/components/components.sass
  17. 0 282
      client/scss/libs/bulma/components/grid.sass
  18. 0 123
      client/scss/libs/bulma/components/highlight.sass
  19. 0 57
      client/scss/libs/bulma/components/level.sass
  20. 0 58
      client/scss/libs/bulma/components/media.sass
  21. 0 32
      client/scss/libs/bulma/components/menu.sass
  22. 0 39
      client/scss/libs/bulma/components/message.sass
  23. 0 75
      client/scss/libs/bulma/components/modal.sass
  24. 0 133
      client/scss/libs/bulma/components/nav.sass
  25. 0 197
      client/scss/libs/bulma/components/nav.scss
  26. 0 35
      client/scss/libs/bulma/components/pagination.sass
  27. 0 57
      client/scss/libs/bulma/components/panel.sass
  28. 0 129
      client/scss/libs/bulma/components/tabs.sass
  29. 0 14
      client/scss/libs/bulma/elements/box.sass
  30. 0 110
      client/scss/libs/bulma/elements/button.sass
  31. 0 73
      client/scss/libs/bulma/elements/content.sass
  32. 0 13
      client/scss/libs/bulma/elements/elements.sass
  33. 0 252
      client/scss/libs/bulma/elements/form.sass
  34. 0 36
      client/scss/libs/bulma/elements/image.sass
  35. 0 21
      client/scss/libs/bulma/elements/notification.sass
  36. 0 187
      client/scss/libs/bulma/elements/other.sass
  37. 0 32
      client/scss/libs/bulma/elements/progress.sass
  38. 0 91
      client/scss/libs/bulma/elements/table.sass
  39. 0 72
      client/scss/libs/bulma/elements/title.sass
  40. 0 13
      client/scss/libs/bulma/layout/footer.sass
  41. 0 146
      client/scss/libs/bulma/layout/hero.sass
  42. 0 5
      client/scss/libs/bulma/layout/layout.sass
  43. 0 10
      client/scss/libs/bulma/layout/section.sass
  44. 0 5
      client/scss/libs/bulma/utilities/animations.sass
  45. 0 52
      client/scss/libs/bulma/utilities/controls.sass
  46. 0 34
      client/scss/libs/bulma/utilities/functions.sass
  47. 0 94
      client/scss/libs/bulma/utilities/mixins.sass
  48. 0 123
      client/scss/libs/bulma/utilities/mixins.scss
  49. 0 174
      client/scss/libs/bulma/utilities/reset.sass
  50. 0 8
      client/scss/libs/bulma/utilities/utilities.sass
  51. 0 153
      client/scss/libs/bulma/utilities/variables.sass
  52. 25 1
      controllers/admin.js
  53. 33 0
      views/modals/admin-createuser.pug
  54. 1 1
      views/pages/admin/_layout.pug
  55. 5 5
      views/pages/admin/profile.pug
  56. 114 0
      views/pages/admin/users-edit.pug
  57. 47 15
      views/pages/admin/users.pug

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
assets/css/app.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
assets/js/app.js


+ 1 - 0
client/js/app.js

@@ -49,6 +49,7 @@ jQuery( document ).ready(function( $ ) {
 	//=include pages/create.js
 	//=include pages/edit.js
 	//=include pages/source.js
+	//=include pages/admin.js
 
 });
 

+ 30 - 0
client/js/modals/admin-createuser.js

@@ -0,0 +1,30 @@
+
+// Vue Create User instance
+
+let vueCreateUser = new Vue({
+	el: '#modal-admin-createuser',
+	data: {
+		email: '',
+		provider: 'local',
+		password: '',
+		name: ''
+	},
+	methods: {
+		open: (ev) => {
+			$('#modal-admin-createuser').addClass('is-active');
+			$('#modal-admin-createuser input').first().focus();
+		},
+		cancel: (ev) => {
+			$('#modal-admin-createuser').removeClass('is-active');
+			vueCreateUser.email = '';
+			vueCreateUser.provider = 'local';
+		},
+		create: (ev) => {
+
+			vueCreateUser.cancel();
+
+		}
+	}
+});
+
+$('.btn-create-prompt').on('click', vueCreateUser.open);

+ 6 - 0
client/js/pages/admin.js

@@ -0,0 +1,6 @@
+
+if($('#page-type-admin').length) {
+
+	//=include ../modals/admin-createuser.js
+
+}

+ 1 - 0
client/scss/app.scss

@@ -14,6 +14,7 @@ $primary: 'indigo';
 @import 'core-client/scss/components/panel';
 @import 'core-client/scss/components/search';
 @import 'core-client/scss/components/sidebar';
+@import 'core-client/scss/components/table';
 @import 'core-client/scss/components/typography';
 
 @import './libs/twemoji-awesome';

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 10
client/scss/libs/animate.min.css


+ 0 - 5
client/scss/libs/bulma/base/base.sass

@@ -1,5 +0,0 @@
-@charset "utf-8"
-
-@import "generic"
-@import "classes"
-@import "helpers"

+ 0 - 20
client/scss/libs/bulma/base/classes.sass

@@ -1,20 +0,0 @@
-.block
-  &:not(:last-child)
-    margin-bottom: 20px
-
-.container
-  position: relative
-  +desktop
-    margin: 0 auto
-    max-width: 960px
-    // Modifiers
-    &.is-fluid
-      margin: 0 20px
-      max-width: none
-  +widescreen
-    max-width: 1200px
-
-.fa
-  font-size: 21px
-  text-align: center
-  vertical-align: top

+ 0 - 31
client/scss/libs/bulma/base/classes.scss

@@ -1,31 +0,0 @@
-.block {
-  &:not(:last-child) {
-    margin-bottom: 20px;
-  }
-}
-
-.container {
-  position: relative;
-
-  @include desktop {
-    margin: 0 auto;
-    max-width: 960px;
-
-    // Modifiers
-    &.is-fluid {
-      margin: 0 20px;
-      max-width: none;
-    }
-  }
-
-
-  @include widescreen {
-    max-width: 1200px;
-  }
-}
-
-.fa {
-  font-size: 21px;
-  text-align: center;
-  vertical-align: top;
-}

+ 0 - 100
client/scss/libs/bulma/base/generic.sass

@@ -1,100 +0,0 @@
-html
-  background-color: $body-background
-  font-size: $size-normal
-  -moz-osx-font-smoothing: grayscale
-  -webkit-font-smoothing: antialiased
-  min-width: 300px
-  overflow-x: hidden
-  overflow-y: scroll
-  text-rendering: optimizeLegibility
-
-article,
-aside,
-figure,
-footer,
-header,
-hgroup,
-section
-  display: block
-
-body,
-button,
-input,
-select,
-textarea
-  font-family: $family-primary
-
-code,
-pre
-  -moz-osx-font-smoothing: auto
-  -webkit-font-smoothing: auto
-  font-family: $family-code
-  line-height: 1.25
-
-body
-  color: $text
-  font-size: 1rem
-  font-weight: $weight-normal
-  line-height: 1.428571428571429
-
-// Inline
-
-a
-  color: $link
-  cursor: pointer
-  text-decoration: none
-  transition: none $speed $easing
-  &:hover
-    color: $link-hover
-
-code
-  background-color: $code-background
-  color: $code
-  font-size: 12px
-  font-weight: normal
-  padding: 1px 2px 2px
-
-hr
-  border-top-color: $border
-  margin: 40px 0
-
-img
-  max-width: 100%
-
-input[type="checkbox"],
-input[type="radio"]
-  vertical-align: baseline
-
-small
-  font-size: $size-small
-
-span
-  font-style: inherit
-  font-weight: inherit
-
-strong
-  color: $text-strong
-  font-weight: $weight-bold
-
-// Block
-
-pre
-  background-color: $pre-background
-  color: $pre
-  white-space: pre
-  word-wrap: normal
-  code
-    background-color: $pre-background
-    color: $pre
-    display: block
-    overflow-x: auto
-    padding: 16px 20px
-
-table
-  width: 100%
-  td,
-  th
-    text-align: left
-    vertical-align: top
-  th
-    color: $text-strong

+ 0 - 104
client/scss/libs/bulma/base/helpers.sass

@@ -1,104 +0,0 @@
-// Display
-
-$displays: 'block' 'flex' 'inline' 'inline-block' 'inline-flex'
-
-@each $display in $displays
-  .is-#{$display}
-    display: #{$display}
-  .is-#{$display}-mobile
-    +mobile
-      display: #{$display} !important
-  .is-#{$display}-tablet
-    +tablet
-      display: #{$display} !important
-  .is-#{$display}-tablet-only
-    +tablet-only
-      display: #{$display} !important
-  .is-#{$display}-touch
-    +touch
-      display: #{$display} !important
-  .is-#{$display}-desktop
-    +desktop
-      display: #{$display} !important
-  .is-#{$display}-desktop-only
-    +desktop-only
-      display: #{$display} !important
-  .is-#{$display}-widescreen
-    +widescreen
-      display: #{$display} !important
-
-// Float
-
-.is-clearfix
-  +clearfix
-
-.is-pulled-left
-  float: left
-
-.is-pulled-right
-  float: right
-
-// Overflow
-
-.is-clipped
-  overflow: hidden !important
-
-// Overlay
-
-.is-overlay
-  +overlay
-
-// Text
-
-.has-text-centered
-  text-align: center
-
-.has-text-left
-  text-align: left
-
-.has-text-right
-  text-align: right
-
-// Visibility
-
-.is-hidden
-  display: none !important
-
-.is-hidden-mobile
-  +mobile
-    display: none !important
-
-.is-hidden-tablet
-  +tablet
-    display: none !important
-
-.is-hidden-tablet-only
-  +tablet-only
-    display: none !important
-
-.is-hidden-touch
-  +touch
-    display: none !important
-
-.is-hidden-desktop
-  +desktop
-    display: none !important
-
-.is-hidden-desktop-only
-  +desktop-only
-    display: none !important
-
-.is-hidden-widescreen
-  +widescreen
-    display: none !important
-
-// Other
-
-.is-disabled
-  pointer-events: none
-
-.is-marginless
-  margin: 0 !important
-
-.is-unselectable
-  @extend .unselectable

+ 0 - 153
client/scss/libs/bulma/base/helpers.scss

@@ -1,153 +0,0 @@
-// Display
-
-$displays: "block" "flex" "inline" "inline-block" "inline-flex";
-
-@each $display in $displays {
-  .is-#{$display} {
-    display: #{$display};
-  }
-
-  .is-#{$display}-mobile {
-    @include mobile {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-tablet {
-    @include tablet {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-tablet-only {
-    @include tablet-only {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-touch {
-    @include touch {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-desktop {
-    @include desktop {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-desktop-only {
-    @include desktop-only {
-      display: #{$display} !important;
-    }
-  }
-
-  .is-#{$display}-widescreen {
-    @include widescreen {
-      display: #{$display} !important;
-    }
-  }
-}
-
-// Float
-
-.is-clearfix {
-  @include clearfix;
-}
-
-.is-pulled-left {
-  float: left;
-}
-
-.is-pulled-right {
-  float: right;
-}
-
-// Overflow
-
-.is-clipped {
-  overflow: hidden !important;
-}
-
-// Overlay
-
-.is-overlay {
-  @include overlay;
-}
-
-// Text
-
-.has-text-centered {
-  text-align: center;
-}
-
-.has-text-left {
-  text-align: left;
-}
-
-.has-text-right {
-  text-align: right;
-}
-
-// Visibility
-
-.is-hidden {
-  display: none !important;
-}
-
-.is-hidden-mobile {
-  @include mobile {
-    display: none !important;
-  }
-}
-
-.is-hidden-tablet {
-  @include tablet {
-    display: none !important;
-  }
-}
-
-.is-hidden-tablet-only {
-  @include tablet-only {
-    display: none !important;
-  }
-}
-
-.is-hidden-touch {
-  @include touch {
-    display: none !important;
-  }
-}
-
-.is-hidden-desktop {
-  @include desktop {
-    display: none !important;
-  }
-}
-
-.is-hidden-desktop-only {
-  @include desktop-only {
-    display: none !important;
-  }
-}
-
-.is-hidden-widescreen {
-  @include widescreen {
-    display: none !important;
-  }
-}
-
-// Other
-
-.is-disabled {
-  pointer-events: none;
-}
-
-.is-marginless {
-  margin: 0 !important;
-}
-
-.is-unselectable {
-  @extend .unselectable;
-}

+ 0 - 7
client/scss/libs/bulma/bulma.sass

@@ -1,7 +0,0 @@
-@charset "utf-8"
-
-@import "utilities/utilities"
-@import "base/base"
-@import "elements/elements"
-@import "components/components"
-@import "layout/layout"

+ 0 - 58
client/scss/libs/bulma/components/card.sass

@@ -1,58 +0,0 @@
-.card-header
-  align-items: stretch
-  box-shadow: 0 1px 2px rgba($black, 0.1)
-  display: flex
-  min-height: 40px
-
-.card-header-title
-  align-items: flex-start
-  color: $text-strong
-  display: flex
-  flex-grow: 1
-  font-weight: bold
-  padding: 10px
-
-.card-header-icon
-  align-items: center
-  cursor: pointer
-  display: flex
-  justify-content: center
-  width: 40px
-
-.card-image
-  display: block
-  position: relative
-
-.card-content
-  padding: 20px
-  .title + .subtitle
-    margin-top: -20px
-
-.card-footer
-  border-top: 1px solid $border
-  align-items: stretch
-  display: flex
-
-.card-footer-item
-  align-items: center
-  display: flex
-  flex-grow: 1
-  justify-content: center
-  padding: 10px
-  &:not(:last-child)
-    border-right: 1px solid $border
-
-.card
-  background-color: $white
-  box-shadow: 0 2px 3px rgba($black, 0.1), 0 0 0 1px rgba($black, 0.1)
-  color: $text
-  max-width: 100%
-  position: relative
-  width: 300px
-  .media:not(:last-child)
-    margin-bottom: 10px
-  // Modifiers
-  &.is-fullwidth
-    width: 100%
-  &.is-rounded
-    border-radius: $radius-large

+ 0 - 14
client/scss/libs/bulma/components/components.sass

@@ -1,14 +0,0 @@
-@charset "utf-8"
-
-@import "card"
-@import "grid"
-@import "highlight"
-@import "level"
-@import "media"
-@import "menu"
-@import "message"
-@import "modal"
-@import "nav"
-@import "pagination"
-@import "panel"
-@import "tabs"

+ 0 - 282
client/scss/libs/bulma/components/grid.sass

@@ -1,282 +0,0 @@
-.column
-  flex-basis: 0
-  flex-grow: 1
-  flex-shrink: 1
-  padding: 10px
-  .columns.is-mobile > &.is-narrow
-    flex: none
-  .columns.is-mobile > &.is-full
-    flex: none
-    width: 100%
-  .columns.is-mobile > &.is-three-quarters
-    flex: none
-    width: 75%
-  .columns.is-mobile > &.is-two-thirds
-    flex: none
-    width: 66.6666%
-  .columns.is-mobile > &.is-half
-    flex: none
-    width: 50%
-  .columns.is-mobile > &.is-one-third
-    flex: none
-    width: 33.3333%
-  .columns.is-mobile > &.is-one-quarter
-    flex: none
-    width: 25%
-  .columns.is-mobile > &.is-offset-three-quarters
-    margin-left: 75%
-  .columns.is-mobile > &.is-offset-two-thirds
-    margin-left: 66.6666%
-  .columns.is-mobile > &.is-offset-half
-    margin-left: 50%
-  .columns.is-mobile > &.is-offset-one-third
-    margin-left: 33.3333%
-  .columns.is-mobile > &.is-offset-one-quarter
-    margin-left: 25%
-  @for $i from 1 through 12
-    .columns.is-mobile > &.is-#{$i}
-      flex: none
-      width: ($i / 12) * 100%
-    .columns.is-mobile > &.is-offset-#{$i}
-      margin-left: ($i / 12) * 100%
-  +mobile
-    &.is-narrow-mobile
-      flex: none
-    &.is-full-mobile
-      flex: none
-      width: 100%
-    &.is-three-quarters-mobile
-      flex: none
-      width: 75%
-    &.is-two-thirds-mobile
-      flex: none
-      width: 66.6666%
-    &.is-half-mobile
-      flex: none
-      width: 50%
-    &.is-one-third-mobile
-      flex: none
-      width: 33.3333%
-    &.is-one-quarter-mobile
-      flex: none
-      width: 25%
-    &.is-offset-three-quarters-mobile
-      margin-left: 75%
-    &.is-offset-two-thirds-mobile
-      margin-left: 66.6666%
-    &.is-offset-half-mobile
-      margin-left: 50%
-    &.is-offset-one-third-mobile
-      margin-left: 33.3333%
-    &.is-offset-one-quarter-mobile
-      margin-left: 25%
-    @for $i from 1 through 12
-      &.is-#{$i}-mobile
-        flex: none
-        width: ($i / 12) * 100%
-      &.is-offset-#{$i}-mobile
-        margin-left: ($i / 12) * 100%
-  +tablet
-    &.is-narrow,
-    &.is-narrow-tablet
-      flex: none
-    &.is-full,
-    &.is-full-tablet
-      flex: none
-      width: 100%
-    &.is-three-quarters,
-    &.is-three-quarters-tablet
-      flex: none
-      width: 75%
-    &.is-two-thirds,
-    &.is-two-thirds-tablet
-      flex: none
-      width: 66.6666%
-    &.is-half,
-    &.is-half-tablet
-      flex: none
-      width: 50%
-    &.is-one-third,
-    &.is-one-third-tablet
-      flex: none
-      width: 33.3333%
-    &.is-one-quarter,
-    &.is-one-quarter-tablet
-      flex: none
-      width: 25%
-    &.is-offset-three-quarters,
-    &.is-offset-three-quarters-tablet
-      margin-left: 75%
-    &.is-offset-two-thirds,
-    &.is-offset-two-thirds-tablet
-      margin-left: 66.6666%
-    &.is-offset-half,
-    &.is-offset-half-tablet
-      margin-left: 50%
-    &.is-offset-one-third,
-    &.is-offset-one-third-tablet
-      margin-left: 33.3333%
-    &.is-offset-one-quarter,
-    &.is-offset-one-quarter-tablet
-      margin-left: 25%
-    @for $i from 1 through 12
-      &.is-#{$i},
-      &.is-#{$i}-tablet
-        flex: none
-        width: ($i / 12) * 100%
-      &.is-offset-#{$i},
-      &.is-offset-#{$i}-tablet
-        margin-left: ($i / 12) * 100%
-  +desktop
-    &.is-narrow-desktop
-      flex: none
-    &.is-full-desktop
-      flex: none
-      width: 100%
-    &.is-three-quarters-desktop
-      flex: none
-      width: 75%
-    &.is-two-thirds-desktop
-      flex: none
-      width: 66.6666%
-    &.is-half-desktop
-      flex: none
-      width: 50%
-    &.is-one-third-desktop
-      flex: none
-      width: 33.3333%
-    &.is-one-quarter-desktop
-      flex: none
-      width: 25%
-    &.is-offset-three-quarters-desktop
-      margin-left: 75%
-    &.is-offset-two-thirds-desktop
-      margin-left: 66.6666%
-    &.is-offset-half-desktop
-      margin-left: 50%
-    &.is-offset-one-third-desktop
-      margin-left: 33.3333%
-    &.is-offset-one-quarter-desktop
-      margin-left: 25%
-    @for $i from 1 through 12
-      &.is-#{$i}-desktop
-        flex: none
-        width: ($i / 12) * 100%
-      &.is-offset-#{$i}-desktop
-        margin-left: ($i / 12) * 100%
-  +widescreen
-    &.is-narrow-widescreen
-      flex: none
-    &.is-full-widescreen
-      flex: none
-      width: 100%
-    &.is-three-quarters-widescreen
-      flex: none
-      width: 75%
-    &.is-two-thirds-widescreen
-      flex: none
-      width: 66.6666%
-    &.is-half-widescreen
-      flex: none
-      width: 50%
-    &.is-one-third-widescreen
-      flex: none
-      width: 33.3333%
-    &.is-one-quarter-widescreen
-      flex: none
-      width: 25%
-    &.is-offset-three-quarters-widescreen
-      margin-left: 75%
-    &.is-offset-two-thirds-widescreen
-      margin-left: 66.6666%
-    &.is-offset-half-widescreen
-      margin-left: 50%
-    &.is-offset-one-third-widescreen
-      margin-left: 33.3333%
-    &.is-offset-one-quarter-widescreen
-      margin-left: 25%
-    @for $i from 1 through 12
-      &.is-#{$i}-widescreen
-        flex: none
-        width: ($i / 12) * 100%
-      &.is-offset-#{$i}-widescreen
-        margin-left: ($i / 12) * 100%
-
-.columns
-  margin-left: -10px
-  margin-right: -10px
-  margin-top: -10px
-  &:last-child
-    margin-bottom: -10px
-  &:not(:last-child)
-    margin-bottom: 10px
-  // Modifiers
-  &.is-centered
-    justify-content: center
-  &.is-gapless
-    margin-left: 0
-    margin-right: 0
-    margin-top: 0
-    &:last-child
-      margin-bottom: 0
-    &:not(:last-child)
-      margin-bottom: 20px
-    & > .column
-      margin: 0
-      padding: 0
-  &.is-grid
-    // Responsiveness
-    +tablet
-      flex-wrap: wrap
-      & > .column
-        max-width: 33.3333%
-        padding: 10px
-        width: 33.3333%
-        & + .column
-          margin-left: 0
-  &.is-mobile
-    display: flex
-  &.is-multiline
-    flex-wrap: wrap
-  &.is-vcentered
-    align-items: center
-  // Responsiveness
-  +tablet
-    &:not(.is-desktop)
-      display: flex
-  +desktop
-    // Modifiers
-    &.is-desktop
-      display: flex
-
-.tile
-  align-items: stretch
-  flex-basis: auto
-  flex-grow: 1
-  flex-shrink: 1
-  min-height: min-content
-  // Modifiers
-  &.is-ancestor
-    margin-left: -10px
-    margin-right: -10px
-    margin-top: -10px
-    &:last-child
-      margin-bottom: -10px
-    &:not(:last-child)
-      margin-bottom: 10px
-  &.is-child
-    margin: 0 !important
-  &.is-parent
-    padding: 10px
-  &.is-vertical
-    flex-direction: column
-    & > .tile.is-child:not(:last-child)
-      margin-bottom: 20px !important
-  // Responsiveness
-  +tablet
-    &:not(.is-child)
-      display: flex
-    @for $i from 1 through 12
-      &.is-#{$i}
-        flex: none
-        width: ($i / 12) * 100%

+ 0 - 123
client/scss/libs/bulma/components/highlight.sass

@@ -1,123 +0,0 @@
-.highlight
-  background-color: #fdf6e3
-  color: #586e75
-  .c
-    color: #93a1a1
-  .err,
-  .g
-    color: #586e75
-  .k
-    color: #859900
-  .l,
-  .n
-    color: #586e75
-  .o
-    color: #859900
-  .x
-    color: #cb4b16
-  .p
-    color: #586e75
-  .cm
-    color: #93a1a1
-  .cp
-    color: #859900
-  .c1
-    color: #93a1a1
-  .cs
-    color: #859900
-  .gd
-    color: #2aa198
-  .ge
-    color: #586e75
-    font-style: italic
-  .gr
-    color: #dc322f
-  .gh
-    color: #cb4b16
-  .gi
-    color: #859900
-  .go,
-  .gp
-    color: #586e75
-  .gs
-    color: #586e75
-    font-weight: bold
-  .gu
-    color: #cb4b16
-  .gt
-    color: #586e75
-  .kc
-    color: #cb4b16
-  .kd
-    color: #268bd2
-  .kn,
-  .kp
-    color: #859900
-  .kr
-    color: #268bd2
-  .kt
-    color: #dc322f
-  .ld
-    color: #586e75
-  .m,
-  .s
-    color: #2aa198
-  .na
-    color: #B58900
-  .nb
-    color: #586e75
-  .nc
-    color: #268bd2
-  .no
-    color: #cb4b16
-  .nd
-    color: #268bd2
-  .ni,
-  .ne
-    color: #cb4b16
-  .nf
-    color: #268bd2
-  .nl,
-  .nn,
-  .nx,
-  .py
-    color: #586e75
-  .nt,
-  .nv
-    color: #268bd2
-  .ow
-    color: #859900
-  .w
-    color: #586e75
-  .mf,
-  .mh,
-  .mi,
-  .mo
-    color: #2aa198
-  .sb
-    color: #93a1a1
-  .sc
-    color: #2aa198
-  .sd
-    color: #586e75
-  .s2
-    color: #2aa198
-  .se
-    color: #cb4b16
-  .sh
-    color: #586e75
-  .si,
-  .sx
-    color: #2aa198
-  .sr
-    color: #dc322f
-  .s1,
-  .ss
-    color: #2aa198
-  .bp,
-  .vc,
-  .vg,
-  .vi
-    color: #268bd2
-  .il
-    color: #2aa198

+ 0 - 57
client/scss/libs/bulma/components/level.sass

@@ -1,57 +0,0 @@
-.level-item
-  .title,
-  .subtitle
-    margin-bottom: 0
-  // Responsiveness
-  +mobile
-    &:not(:last-child)
-      margin-bottom: 10px
-
-.level-left,
-.level-right
-  .level-item
-    &:not(:last-child)
-      margin-right: 10px
-    // Modifiers
-    &.is-flexible
-      flex-grow: 1
-
-.level-left
-  // Responsiveness
-  +mobile
-    & + .level-right
-      margin-top: 20px
-  +tablet
-    align-items: center
-    display: flex
-
-.level-right
-  // Responsiveness
-  +tablet
-    align-items: center
-    display: flex
-    justify-content: flex-end
-
-.level
-  @extend .block
-  align-items: center
-  justify-content: space-between
-  code
-    border-radius: $radius
-  img
-    display: inline-block
-    vertical-align: top
-  // Modifiers
-  &.is-mobile
-    display: flex
-    & > .level-item
-      &:not(:last-child)
-        margin-bottom: 0
-      &:not(.is-narrow)
-        flex-grow: 1
-  // Responsiveness
-  +tablet
-    display: flex
-    & > .level-item
-      &:not(.is-narrow)
-        flex-grow: 1

+ 0 - 58
client/scss/libs/bulma/components/media.sass

@@ -1,58 +0,0 @@
-.media-number
-  background-color: $background
-  border-radius: 290486px
-  display: inline-block
-  font-size: $size-medium
-  height: 32px
-  line-height: 24px
-  min-width: 32px
-  padding: 4px 8px
-  text-align: center
-  vertical-align: top
-  // Responsiveness
-  +mobile
-    margin-bottom: 10px
-  +tablet
-    margin-right: 10px
-
-.media-left
-  margin-right: 10px
-
-.media-right
-  margin-left: 10px
-
-.media-content
-  flex-grow: 1
-  text-align: left
-
-.media
-  align-items: flex-start
-  display: flex
-  text-align: left
-  .content:not(:last-child)
-    margin-bottom: 10px
-  .media
-    border-top: 1px solid rgba($border, 0.5)
-    display: flex
-    padding-top: 10px
-    .content:not(:last-child),
-    .control:not(:last-child)
-      margin-bottom: 5px
-    .media
-      padding-top: 5px
-      & + .media
-        margin-top: 5px
-  & + .media
-    border-top: 1px solid rgba($border, 0.5)
-    margin-top: 10px
-    padding-top: 10px
-  // Sizes
-  &.is-large
-    & + .media
-      margin-top: 20px
-      padding-top: 20px
-  // Responsiveness
-  +tablet
-    &.is-large
-      .media-number
-        margin-right: 20px

+ 0 - 32
client/scss/libs/bulma/components/menu.sass

@@ -1,32 +0,0 @@
-.menu-nav
-  a
-    display: block
-    padding: 5px 10px
-
-.menu-list
-  a
-    border-radius: $radius-small
-    color: $text
-    display: block
-    padding: 5px 10px
-    &:hover
-      background-color: $background
-      color: $link
-    // Modifiers
-    &.is-active
-      background-color: $link
-      color: $link-invert
-  li
-    ul
-      border-left: 1px solid $border
-      margin: 10px
-      padding-left: 10px
-
-.menu-label
-  color: $text-light
-  font-size: $size-small
-  letter-spacing: 1px
-  margin-bottom: 5px
-  text-transform: uppercase
-  &:not(:first-child)
-    margin-top: 20px

+ 0 - 39
client/scss/libs/bulma/components/message.sass

@@ -1,39 +0,0 @@
-.message-body
-  border: 1px solid $border
-  border-radius: $radius
-  padding: 12px 15px
-  strong
-    color: inherit
-
-.message-header
-  background-color: $text
-  border-radius: $radius $radius 0 0
-  color: $text-invert
-  padding: 7px 10px
-  strong
-    color: inherit
-  & + .message-body
-    border-radius: 0 0 $radius $radius
-    border-top: none
-
-.message
-  @extend .block
-  background-color: $background
-  border-radius: $radius
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    $color-invert: nth($pair, 2)
-    $lightning: max((100% - lightness($color)) - 4%, 0%)
-    $darkness: max(lightness($color) - 10%, lightness($color))
-    &.is-#{$name}
-      background-color: lighten($color, $lightning)
-      .message-header
-        background-color: $color
-        color: $color-invert
-      .message-body
-        border-color: $color
-        @if (colorLuminance($color) > 0.8)
-          color: desaturate(lighten(darken($color, 100%), 40%), 40%)
-        @else
-          color: desaturate(lighten(darken($color, 100%), 50%), 30%)

+ 0 - 75
client/scss/libs/bulma/components/modal.sass

@@ -1,75 +0,0 @@
-.modal-background
-  +overlay
-  background-color: rgba($black, 0.86)
-
-.modal-content
-  margin: 0 20px
-  max-height: calc(100vh - 160px)
-  overflow: auto
-  position: relative
-  width: 100%
-  // Responsiveness
-  +tablet
-    margin: 0 auto
-    max-height: calc(100vh - 40px)
-    width: 640px
-
-.modal-close
-  @extend .delete
-  background: none
-  height: 40px
-  position: fixed
-  right: 20px
-  top: 20px
-  width: 40px
-
-.modal-card
-  @extend .modal-content
-  background-color: $white
-  border-radius: $radius-large
-  display: flex
-  flex-direction: column
-  max-height: calc(100vh - 40px)
-  overflow: hidden
-
-.modal-card-head,
-.modal-card-foot
-  align-items: center
-  background-color: $background
-  display: flex
-  flex-shrink: 0
-  justify-content: flex-start
-  padding: 20px
-  position: relative
-
-.modal-card-head
-  border-bottom: 1px solid $border
-
-.modal-card-title
-  color: $text-strong
-  flex-grow: 1
-  font-size: $size-4
-  line-height: 1
-
-.modal-card-foot
-  border-top: 1px solid $border
-  .button
-    &:not(:last-child)
-      margin-right: 10px
-
-.modal-card-body
-  flex-grow: 1
-  overflow: auto
-  padding: 20px
-
-.modal
-  +overlay
-  align-items: center
-  display: none
-  justify-content: center
-  overflow: hidden
-  position: fixed
-  z-index: 1986
-  // Modifiers
-  &.is-active
-    display: flex

+ 0 - 133
client/scss/libs/bulma/components/nav.sass

@@ -1,133 +0,0 @@
-// Components
-
-.nav-toggle
-  @extend .hamburger
-  // Responsiveness
-  +tablet
-    display: none
-
-.nav-item
-  align-items: center
-  display: flex
-  justify-content: center
-  padding: 10px
-  a
-    flex-grow: 1
-  img
-    max-height: 24px
-  .button + .button
-    margin-left: 10px
-  .tag
-    &:first-child
-      margin-right: 5px
-    &:last-child
-      margin-left: 5px
-  // Responsiveness
-  +mobile
-    justify-content: flex-start
-
-.nav-item a,
-a.nav-item
-  color: $text
-  &:hover
-    color: $link-hover
-  // Modifiers
-  &.is-active
-    color: $link-active
-  &.is-tab
-    border-bottom: 1px solid transparent
-    border-top: 1px solid transparent
-    padding-left: 12px
-    padding-right: 12px
-    &:hover
-      border-bottom: 1px solid $link
-      border-top: 1px solid transparent
-    &.is-active
-      border-bottom: 3px solid $link
-      border-top: 3px solid transparent
-      color: $link
-
-// Containers
-
-.nav-menu
-  // Responsiveness
-  +mobile
-    background-color: $white
-    box-shadow: 0 4px 7px rgba($black, 0.1)
-    left: 0
-    display: none
-    right: 0
-    top: 100%
-    position: absolute
-    .nav-item
-      border-top: 1px solid rgba($border, 0.5)
-      padding: 10px
-    &.is-active
-      display: block
-  +tablet-only
-    padding-right: 20px
-
-.nav-left
-  align-items: stretch
-  display: flex
-  flex-basis: 0
-  flex-grow: 1
-  justify-content: flex-start
-  overflow: hidden
-  overflow-x: auto
-  white-space: nowrap
-
-.nav-center
-  align-items: stretch
-  display: flex
-  justify-content: center
-  margin-left: auto
-  margin-right: auto
-
-.nav-right
-  // Responsiveness
-  +tablet
-    align-items: stretch
-    display: flex
-    flex-basis: 0
-    flex-grow: 1
-    justify-content: flex-end
-
-// Main container
-
-.nav
-  align-items: stretch
-  background-color: $white
-  display: flex
-  min-height: $nav-height
-  position: relative
-  text-align: center
-  z-index: 2
-  & > .container
-    align-items: stretch
-    display: flex
-    min-height: $nav-height
-    width: 100%
-    & > .nav-left
-      & > .nav-item:first-child:not(.is-tab)
-        padding-left: 0
-    & > .nav-right
-      & > .nav-item:last-child:not(.is-tab)
-        padding-right: 0
-  .container > &
-    & > .nav-left
-      & > .nav-item:first-child:not(.is-tab)
-        padding-left: 0
-    & > .nav-right
-      & > .nav-item:last-child:not(.is-tab)
-        padding-right: 0
-  // Modifiers
-  &.has-shadow
-    box-shadow: 0 2px 3px rgba($black, 0.1)
-  // Responsiveness
-  +touch
-    & > .container,
-    .container > &
-      & > .nav-left
-        & > .nav-item.is-brand:first-child
-          padding-left: 20px

+ 0 - 197
client/scss/libs/bulma/components/nav.scss

@@ -1,197 +0,0 @@
-// Components
-
-.nav-toggle {
-  @extend .hamburger;
-
-  // Responsiveness
-  @include tablet {
-    display: none;
-  }
-}
-
-.nav-item {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-  padding: 10px;
-
-  a {
-    flex-grow: 1;
-  }
-
-  img {
-    max-height: 24px;
-  }
-
-  .button + .button {
-    margin-left: 10px;
-  }
-
-  .tag {
-    &:first-child {
-      margin-right: 5px;
-    }
-
-    &:last-child {
-      margin-left: 5px;
-    }
-  }
-
-  // Responsiveness
-  @include mobile {
-    justify-content: flex-start;
-  }
-}
-
-.nav-item a,
-a.nav-item {
-  color: $text;
-
-  &:hover {
-    color: $link-hover;
-  }
-
-  // Modifiers
-  &.is-active {
-    color: $link-active;
-  }
-
-  &.is-tab {
-    border-bottom: 1px solid transparent;
-    border-top: 1px solid transparent;
-    padding-left: 12px;
-    padding-right: 12px;
-
-    &:hover {
-      border-bottom: 1px solid $link;
-      border-top: 1px solid transparent;
-    }
-
-    &.is-active {
-      border-bottom: 3px solid $link;
-      border-top: 3px solid transparent;
-      color: $link;
-    }
-  }
-}
-
-// Containers
-
-.nav-menu {
-  // Responsiveness
-  @include mobile {
-    background-color: $white;
-    box-shadow: 0 4px 7px rgba($black, 0.1);
-    left: 0;
-    display: none;
-    right: 0;
-    top: 100%;
-    position: absolute;
-
-    .nav-item {
-      border-top: 1px solid rgba($border, 0.5);
-      padding: 10px;
-    }
-
-    &.is-active {
-      display: block;
-    }
-  }
-
-
-  @include tablet-only {
-    padding-right: 20px;
-  }
-}
-
-.nav-left {
-  align-items: stretch;
-  display: flex;
-  flex-basis: 0;
-  flex-grow: 1;
-  justify-content: flex-start;
-  overflow: hidden;
-  overflow-x: auto;
-  white-space: nowrap;
-}
-
-.nav-center {
-  align-items: stretch;
-  display: flex;
-  justify-content: center;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.nav-right {
-  // Responsiveness
-  @include tablet {
-    align-items: stretch;
-    display: flex;
-    flex-basis: 0;
-    flex-grow: 1;
-    justify-content: flex-end;
-  }
-}
-
-// Main container
-
-.nav {
-  align-items: stretch;
-  background-color: $white;
-  display: flex;
-  min-height: $nav-height;
-  position: relative;
-  text-align: center;
-  z-index: 2;
-
-  & > .container {
-    align-items: stretch;
-    display: flex;
-    min-height: $nav-height;
-    width: 100%;
-
-    & > .nav-left {
-      & > .nav-item:first-child:not(.is-tab) {
-        padding-left: 0;
-      }
-    }
-
-    & > .nav-right {
-      & > .nav-item:last-child:not(.is-tab) {
-        padding-right: 0;
-      }
-    }
-  }
-
-  .container > & {
-    & > .nav-left {
-      & > .nav-item:first-child:not(.is-tab) {
-        padding-left: 0;
-      }
-    }
-
-    & > .nav-right {
-      & > .nav-item:last-child:not(.is-tab) {
-        padding-right: 0;
-      }
-    }
-  }
-
-  // Modifiers
-  &.has-shadow {
-    box-shadow: 0 2px 3px rgba($black, 0.1);
-  }
-
-  // Responsiveness
-  @include touch {
-    & > .container,
-    .container > & {
-      & > .nav-left {
-        & > .nav-item.is-brand:first-child {
-          padding-left: 20px;
-        }
-      }
-    }
-  }
-}

+ 0 - 35
client/scss/libs/bulma/components/pagination.sass

@@ -1,35 +0,0 @@
-.pagination
-  align-items: center
-  display: flex
-  justify-content: center
-  text-align: center
-  a
-    display: block
-    min-width: 32px
-    padding: 3px 8px
-  span
-    color: $text-light
-    display: block
-    margin: 0 4px
-  li
-    margin: 0 2px
-  ul
-    align-items: center
-    display: flex
-    flex-grow: 1
-    justify-content: center
-  // Responsiveness
-  +mobile
-    flex-wrap: wrap
-    & > a
-      width: calc(50% - 5px)
-      &:not(:first-child)
-        margin-left: 10px
-    li
-      flex-grow: 1
-    ul
-      margin-top: 10px
-  +tablet
-    & > a
-      &:not(:first-child)
-        order: 1

+ 0 - 57
client/scss/libs/bulma/components/panel.sass

@@ -1,57 +0,0 @@
-.panel-icon
-  +fa(14px, 16px)
-  color: $text-light
-  float: left
-  margin: 0 4px 0 -2px
-  .fa
-    font-size: inherit
-    line-height: inherit
-
-.panel-heading
-  background-color: $background
-  border-bottom: 1px solid $border
-  border-radius: 4px 4px 0 0
-  color: $text-strong
-  font-size: $size-medium
-  font-weight: 300
-  padding: 10px
-
-.panel-list
-  a
-    color: $text
-    &:hover
-      color: $link
-
-.panel-tabs
-  display: flex
-  font-size: $size-small
-  padding: 5px 10px 0
-  justify-content: center
-  a
-    border-bottom: 1px solid $border
-    margin-bottom: -1px
-    padding: 5px
-    // Modifiers
-    &.is-active
-      border-bottom-color: $link-active-border
-      color: $link-active
-  &:not(:last-child)
-    border-bottom: 1px solid $border
-
-.panel-block
-  color: $text-strong
-  display: block
-  line-height: 16px
-  padding: 10px
-  &:not(:last-child)
-    border-bottom: 1px solid $border
-
-a.panel-block
-  &:hover
-    background-color: $background
-
-.panel
-  border: 1px solid $border
-  border-radius: $radius-large
-  &:not(:last-child)
-    margin-bottom: 20px

+ 0 - 129
client/scss/libs/bulma/components/tabs.sass

@@ -1,129 +0,0 @@
-.tabs
-  @extend .block
-  @extend .unselectable
-  align-items: stretch
-  display: flex
-  justify-content: space-between
-  line-height: 24px
-  overflow: hidden
-  overflow-x: auto
-  white-space: nowrap
-  a
-    align-items: center
-    border-bottom: 1px solid $border
-    color: $text
-    display: flex
-    justify-content: center
-    margin-bottom: -1px
-    padding: 6px 12px
-    vertical-align: top
-    &:hover
-      border-bottom-color: $text-strong
-      color: $text-strong
-  li
-    display: block
-    &.is-active
-      a
-        border-bottom-color: $link
-        color: $link
-  ul
-    align-items: center
-    border-bottom: 1px solid $border
-    display: flex
-    flex-grow: 1
-    justify-content: flex-start
-    &.is-left
-      padding-right: 10px
-    &.is-center
-      flex: none
-      justify-content: center
-      padding-left: 10px
-      padding-right: 10px
-    &.is-right
-      justify-content: flex-end
-      padding-left: 10px
-  .icon
-    &:first-child
-      margin-right: 8px
-    &:last-child
-      margin-left: 8px
-  // Alignment
-  &.is-centered
-    ul
-      justify-content: center
-  &.is-right
-    ul
-      justify-content: flex-end
-  // Styles
-  &.is-boxed
-    a
-      border: 1px solid transparent
-      border-radius: $radius $radius 0 0
-      padding-bottom: 5px
-      padding-top: 5px
-      &:hover
-        background-color: $background
-        border-bottom-color: $border
-    li
-      &.is-active
-        a
-          background-color: $white
-          border-color: $border
-          border-bottom-color: transparent !important
-  &.is-fullwidth
-    li
-      flex-grow: 1
-  &.is-toggle
-    a
-      border: 1px solid $border
-      margin-bottom: 0
-      padding-bottom: 5px
-      padding-top: 5px
-      position: relative
-      &:hover
-        background-color: $background
-        border-color: $border-hover
-        z-index: 2
-    li
-      & + li
-        margin-left: -1px
-      &:first-child a
-        border-radius: $radius 0 0 $radius
-      &:last-child a
-        border-radius: 0 $radius $radius 0
-      &.is-active
-        a
-          background-color: $primary
-          border-color: $primary
-          color: $primary-invert
-          z-index: 1
-    ul
-      border-bottom: none
-  // Sizes
-  &.is-small
-    font-size: $size-small
-    a
-      padding: 2px 8px
-    &.is-boxed,
-    &.is-toggle
-      a
-        padding-bottom: 1px
-        padding-top: 1px
-  &.is-medium
-    font-size: $size-medium
-    a
-      padding: 10px 16px
-    &.is-boxed,
-    &.is-toggle
-      a
-        padding-bottom: 9px
-        padding-top: 9px
-  &.is-large
-    font-size: $size-large
-    a
-      padding: 14px 20px
-    &.is-boxed,
-    &.is-toggle
-      a
-        padding-bottom: 13px
-        padding-top: 13px

+ 0 - 14
client/scss/libs/bulma/elements/box.sass

@@ -1,14 +0,0 @@
-.box
-  @extend .block
-  background-color: $white
-  border-radius: $radius-large
-  box-shadow: 0 2px 3px rgba($black, 0.1), 0 0 0 1px rgba($black, 0.1)
-  display: block
-  padding: 20px
-
-a.box
-  &:hover,
-  &:focus
-    box-shadow: 0 2px 3px rgba($black, 0.1), 0 0 0 1px $link
-  &:active
-    box-shadow: inset 0 1px 2px rgba($black, 0.2), 0 0 0 1px $link

+ 0 - 110
client/scss/libs/bulma/elements/button.sass

@@ -1,110 +0,0 @@
-=button-small
-  border-radius: $radius-small
-  font-size: 11px
-  height: 24px
-  line-height: 16px
-  padding-left: 6px
-  padding-right: 6px
-=button-medium
-  font-size: 18px
-  height: 40px
-  padding-left: 14px
-  padding-right: 14px
-=button-large
-  font-size: 22px
-  height: 48px
-  padding-left: 20px
-  padding-right: 20px
-
-.button
-  +control
-  @extend .unselectable
-  justify-content: center
-  padding-left: 10px
-  padding-right: 10px
-  text-align: center
-  white-space: nowrap
-  strong
-    color: inherit
-  small
-    display: block
-    font-size: $size-small
-    line-height: 1
-    margin-top: 5px
-  .icon,
-  .tag
-    &:first-child
-      margin-left: -2px
-      margin-right: 4px
-    &:last-child
-      margin-left: 4px
-      margin-right: -2px
-  &:hover,
-  &:focus,
-  &.is-active
-    color: $control-hover
-  &:active
-    box-shadow: inset 0 1px 2px rgba($black, 0.2)
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    $color-invert: nth($pair, 2)
-    &.is-#{$name}
-      background-color: $color
-      border-color: transparent
-      color: $color-invert
-      &:hover,
-      &:focus,
-      &.is-active
-        background-color: darken($color, 10%)
-        border-color: transparent
-        color: $color-invert
-      &:active
-        border-color: transparent
-      &.is-inverted
-        background-color: $color-invert
-        color: $color
-        &:hover
-          background-color: darken($color-invert, 5%)
-      &.is-loading
-        &:after
-          border-color: transparent transparent $color-invert $color-invert !important
-      &.is-outlined
-        background-color: transparent
-        border-color: $color
-        color: $color
-        &:hover,
-        &:focus
-          background-color: $color
-          border-color: $color
-          color: $color-invert
-  &.is-link
-    background-color: transparent
-    border-color: transparent
-    color: $text
-    text-decoration: underline
-    &:hover,
-    &:focus
-      background-color: $border
-      color: $text-strong
-  // Sizes
-  &.is-small
-    +button-small
-  &.is-medium
-    +button-medium
-  &.is-large
-    +button-large
-  // Modifiers
-  &[disabled],
-  &.is-disabled
-    opacity: 0.5
-  &.is-fullwidth
-    display: flex
-    width: 100%
-  &.is-loading
-    color: transparent !important
-    pointer-events: none
-    &:after
-      @extend .loader
-      +center(16px)
-      position: absolute !important

+ 0 - 73
client/scss/libs/bulma/elements/content.sass

@@ -1,73 +0,0 @@
-.content
-  @extend .block
-  // Inline
-  a:not(.button)
-    border-bottom: 1px solid $border
-    &:visited
-      color: $link-visited
-    &:hover
-      border-bottom-color: $link
-  li + li
-    margin-top: 0.25em
-  // Block
-  blockquote,
-  p,
-  ol,
-  ul
-    &:not(:last-child)
-      margin-bottom: 1em
-  h1,
-  h2,
-  h3,
-  h4,
-  h5,
-  h6
-    color: $text-strong
-    font-weight: 300
-    line-height: 1.125
-    margin-bottom: 20px
-  h1,
-  h2,
-  h3
-    &:not(:first-child)
-      margin-top: 40px
-  blockquote
-    background-color: $background
-    border-left: 5px solid $border
-    padding: 1.5em
-  h1
-    font-size: 2em
-  h2
-    font-size: 1.75em
-  h3
-    font-size: 1.5em
-  h4
-    font-size: 1.25em
-  h5
-    font-size: 1.125em
-  h6
-    font-size: 1em
-  ol
-    list-style: decimal outside
-    margin-left: 2em
-    margin-right: 2em
-    margin-top: 1em
-  ul
-    list-style: disc outside
-    margin-left: 2em
-    margin-right: 2em
-    margin-top: 1em
-    ul
-      list-style-type: circle
-      margin-top: 0.5em
-      ul
-        list-style-type: square
-  // Sizes
-  &.is-medium
-    font-size: $size-5
-    code
-      font-size: $size-6
-  &.is-large
-    font-size: $size-4
-    code
-      font-size: $size-5

+ 0 - 13
client/scss/libs/bulma/elements/elements.sass

@@ -1,13 +0,0 @@
-@charset "utf-8"
-
-@import "box"
-@import "button"
-@import "content"
-@import "form"
-@import "image"
-@import "notification"
-@import "progress"
-@import "table"
-@import "title"
-
-@import "other"

+ 0 - 252
client/scss/libs/bulma/elements/form.sass

@@ -1,252 +0,0 @@
-=form-control
-  +control
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    &.is-#{$name}
-      border-color: $color
-
-.input
-  +form-control
-  box-shadow: inset 0 1px 2px rgba($black, 0.1)
-  max-width: 100%
-  width: 100%
-  &[type="search"]
-    border-radius: 290486px
-  // Sizes
-  &.is-small
-    +control-small
-  &.is-medium
-    +control-medium
-  &.is-large
-    +control-large
-  // Modifiers
-  &.is-fullwidth
-    display: block
-    width: 100%
-  &.is-inline
-    display: inline
-    width: auto
-
-.textarea
-  @extend .input
-  display: block
-  line-height: 1.2
-  max-height: 600px
-  max-width: 100%
-  min-height: 120px
-  min-width: 100%
-  padding: 10px
-  resize: vertical
-
-%control-with-element
-  cursor: pointer
-  display: inline-block
-  line-height: 16px
-  position: relative
-  vertical-align: top
-  input
-    cursor: pointer
-  &:hover
-    color: $control-hover
-  &.is-disabled
-    color: $text-light
-    pointer-events: none
-    input
-      pointer-events: none
-
-.checkbox
-  @extend %control-with-element
-
-.radio
-  @extend %control-with-element
-  & + .radio
-    margin-left: 10px
-
-.select
-  display: inline-block
-  height: 32px
-  position: relative
-  vertical-align: top
-  select
-    +form-control
-    cursor: pointer
-    display: block
-    outline: none
-    padding-right: 36px
-    &:hover
-      border-color: $control-hover-border
-    &::ms-expand
-      display: none
-  &.is-fullwidth
-    width: 100%
-    select
-      width: 100%
-  &:after
-    +arrow($link)
-    margin-top: -6px
-    right: 16px
-    top: 50%
-  &:hover
-    &:after
-      border-color: $link-hover
-  &.is-small
-    height: 24px
-    select
-      +control-small
-      padding-right: 28px
-  &.is-medium
-    height: 40px
-    select
-      +control-medium
-      padding-right: 44px
-  &.is-large
-    height: 48px
-    select
-      +control-large
-      padding-right: 52px
-
-.label
-  color: $text-strong
-  display: block
-  font-weight: bold
-  &:not(:last-child)
-    margin-bottom: 5px
-
-.help
-  display: block
-  font-size: $size-small
-  margin-top: 5px
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    &.is-#{$name}
-      color: $color
-
-// Containers
-
-.control-label
-  +mobile
-    margin-bottom: 5px
-  +tablet
-    flex-grow: 1
-    margin-right: 20px
-    padding-top: 7px
-    text-align: right
-
-.control
-  position: relative
-  text-align: left
-  &:not(:last-child)
-    margin-bottom: 10px
-  // Modifiers
-  &.has-addons
-    display: flex
-    justify-content: flex-start
-    .button,
-    .input,
-    .select
-      border-radius: 0
-      margin-right: -1px
-      width: auto
-      &:hover
-        z-index: 2
-      &:active,
-      &:focus
-        z-index: 3
-      &:first-child
-        border-radius: $radius 0 0 $radius
-        select
-          border-radius: $radius 0 0 $radius
-      &:last-child
-        border-radius: 0 $radius $radius 0
-        select
-          border-radius: 0 $radius $radius 0
-      &.is-expanded
-        flex-grow: 1
-    &.has-addons-centered
-      justify-content: center
-    &.has-addons-right
-      justify-content: flex-end
-    &.has-addons-fullwidth
-      .button,
-      .input,
-      .select
-        flex-grow: 1
-  &.has-icon
-    & > .fa
-      +fa(14px, 24px)
-      color: $text-light
-      pointer-events: none
-      position: absolute
-      top: 4px
-      z-index: 4
-    .input
-      &:focus + .fa
-        color: $text-strong
-      &.is-small + .fa
-        font-size: 10.5px
-        top: 0
-      &.is-medium + .fa
-        font-size: 21px
-        top: 8px
-      &.is-large + .fa
-        font-size: 21px
-        top: 12px
-    &:not(.has-icon-right)
-      & > .fa
-        left: 4px
-      .input
-        padding-left: 32px
-        &.is-small
-          padding-left: 24px
-          & + .fa
-            left: 0
-        &.is-medium
-          padding-left: 40px
-          & + .fa
-            left: 8px
-        &.is-large
-          padding-left: 48px
-          & + .fa
-            left: 12px
-    &.has-icon-right
-      & > .fa
-        right: 4px
-      .input
-        padding-right: 32px
-        &.is-small
-          padding-right: 24px
-          & + .fa
-            right: 0
-        &.is-medium
-          padding-right: 40px
-          & + .fa
-            right: 8px
-        &.is-large
-          padding-right: 48px
-          & + .fa
-            right: 12px
-  &.is-grouped
-    display: flex
-    justify-content: flex-start
-    & > .control
-      &:not(:last-child)
-        margin-bottom: 0
-        margin-right: 10px
-      &.is-expanded
-        flex-grow: 1
-    &.is-grouped-centered
-      justify-content: center
-    &.is-grouped-right
-      justify-content: flex-end
-  &.is-horizontal
-    +tablet
-      display: flex
-      & > .control
-        display: flex
-        flex-grow: 5
-  &.is-loading
-    &:after
-      @extend .loader
-      position: absolute !important
-      right: 8px
-      top: 8px

+ 0 - 36
client/scss/libs/bulma/elements/image.sass

@@ -1,36 +0,0 @@
-$dimensions: 16 24 32 48 64 96 128
-
-.image
-  display: block
-  position: relative
-  img
-    display: block
-    height: auto
-    width: 100%
-  // Ratio
-  &.is-square,
-  &.is-1by1,
-  &.is-4by3,
-  &.is-3by2,
-  &.is-16by9,
-  &.is-2by1
-    img
-      +overlay
-      height: 100%
-      width: 100%
-  &.is-square,
-  &.is-1by1
-    padding-top: 100%
-  &.is-4by3
-    padding-top: 75%
-  &.is-3by2
-    padding-top: 66.6666%
-  &.is-16by9
-    padding-top: 56.25%
-  &.is-2by1
-    padding-top: 50%
-  // Sizes
-  @each $dimension in $dimensions
-    &.is-#{$dimension}x#{$dimension}
-      height: $dimension * 1px
-      width: $dimension * 1px

+ 0 - 21
client/scss/libs/bulma/elements/notification.sass

@@ -1,21 +0,0 @@
-.notification
-  @extend .block
-  +clearfix
-  background-color: $background
-  border-radius: $radius
-  padding: 16px 20px
-  position: relative
-  .delete
-    border-radius: 0 $radius
-    float: right
-    margin: -16px -20px 0 20px
-  .subtitle,
-  .title
-    color: inherit
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    $color-invert: nth($pair, 2)
-    &.is-#{$name}
-      background-color: $color
-      color: $color-invert

+ 0 - 187
client/scss/libs/bulma/elements/other.sass

@@ -1,187 +0,0 @@
-.delete
-  @extend .unselectable
-  -moz-appearance: none
-  -webkit-appearance: none
-  background-color: rgba($black, 0.2)
-  border: none
-  border-radius: 290486px
-  cursor: pointer
-  display: inline-block
-  height: 24px
-  position: relative
-  vertical-align: top
-  width: 24px
-  &:before,
-  &:after
-    background-color: $white
-    content: ""
-    display: block
-    height: 2px
-    left: 50%
-    margin-left: -25%
-    margin-top: -1px
-    position: absolute
-    top: 50%
-    width: 50%
-  &:before
-    transform: rotate(45deg)
-  &:after
-    transform: rotate(-45deg)
-  &:hover
-    background-color: rgba($black, 0.5)
-  // Sizes
-  &.is-small
-    height: 16px
-    width: 16px
-  &.is-medium
-    height: 32px
-    width: 32px
-  &.is-large
-    height: 40px
-    width: 40px
-
-.icon
-  +fa(21px, 24px)
-  .fa
-    font-size: inherit
-    line-height: inherit
-  // Sizes
-  &.is-small
-    +fa(14px, 16px)
-  &.is-medium
-    +fa(28px, 32px)
-  &.is-large
-    +fa(42px, 48px)
-
-.hamburger
-  cursor: pointer
-  display: block
-  height: $nav-height
-  position: relative
-  width: $nav-height
-  span
-    background-color: $text
-    display: block
-    height: 1px
-    left: 50%
-    margin-left: -7px
-    position: absolute
-    top: 50%
-    transition: none $speed $easing
-    transition-property: background, left, opacity, transform
-    width: 15px
-    &:nth-child(1)
-      margin-top: -6px
-    &:nth-child(2)
-      margin-top: -1px
-    &:nth-child(3)
-      margin-top: 4px
-  &:hover
-    background-color: $background
-  // Modifers
-  &.is-active
-    span
-      background-color: $link
-      &:nth-child(1)
-        margin-left: -5px
-        transform: rotate(45deg)
-        transform-origin: left top
-      &:nth-child(2)
-        opacity: 0
-      &:nth-child(3)
-        margin-left: -5px
-        transform: rotate(-45deg)
-        transform-origin: left bottom
-
-.heading
-  display: block
-  font-size: 11px
-  letter-spacing: 1px
-  margin-bottom: 5px
-  text-transform: uppercase
-
-.highlight
-  @extend .block
-  font-size: 12px
-  font-weight: normal
-  max-width: 100%
-  overflow: hidden
-  padding: 0
-  pre
-    overflow: auto
-    max-width: 100%
-
-.loader
-  animation: spin-around 500ms infinite linear
-  border: 2px solid $border
-  border-radius: 290486px
-  border-right-color: transparent
-  border-top-color: transparent
-  content: ""
-  display: block
-  height: 16px
-  position: relative
-  width: 16px
-
-.number
-  background-color: $background
-  border-radius: 290486px
-  display: inline-block
-  font-size: $size-medium
-  vertical-align: top
-
-.tag
-  align-items: center
-  background-color: $background
-  border-radius: 290486px
-  color: $text
-  display: inline-flex
-  font-size: 12px
-  height: 24px
-  justify-content: center
-  line-height: 16px
-  padding-left: 10px
-  padding-right: 10px
-  vertical-align: top
-  white-space: nowrap
-  .delete
-    margin-left: 4px
-    margin-right: -6px
-  &:not(.is-large)
-    .delete
-      @extend .delete.is-small
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    $color-invert: nth($pair, 2)
-    &.is-#{$name}
-      background-color: $color
-      color: $color-invert
-  // Sizes
-  &.is-small
-    font-size: $size-small
-    height: 20px
-    padding-left: 8px
-    padding-right: 8px
-  &.is-medium
-    font-size: $size-normal
-    height: 32px
-    padding-left: 14px
-    padding-right: 14px
-  &.is-large
-    font-size: $size-5
-    height: 40px
-    line-height: 24px
-    padding-left: 18px
-    padding-right: 18px
-    .delete
-      margin-left: 4px
-      margin-right: -8px
-
-.unselectable
-  -webkit-touch-callout: none
-  -webkit-user-select: none
-  -moz-user-select: none
-  -ms-user-select: none
-  user-select: none
-

+ 0 - 32
client/scss/libs/bulma/elements/progress.sass

@@ -1,32 +0,0 @@
-.progress
-  @extend .block
-  -moz-appearance: none
-  -webkit-appearance: none
-  border: none
-  border-radius: 290486px
-  display: block
-  height: 12px
-  overflow: hidden
-  padding: 0
-  width: 100%
-  &::-webkit-progress-bar
-    background-color: $border
-  &::-webkit-progress-value
-    background-color: $text
-  &::-moz-progress-bar
-    background-color: $text
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    &.is-#{$name}
-      &::-webkit-progress-value
-        background-color: $color
-      &::-moz-progress-bar
-        background-color: $color
-  // Sizes
-  &.is-small
-    height: 8px
-  &.is-medium
-    height: 16px
-  &.is-large
-    height: 20px

+ 0 - 91
client/scss/libs/bulma/elements/table.sass

@@ -1,91 +0,0 @@
-.table
-  background-color: $white
-  color: $text-strong
-  margin-bottom: 20px
-  width: 100%
-  td,
-  th
-    border: 1px solid $border
-    border-width: 0 0 1px
-    padding: 8px 10px
-    vertical-align: top
-    // Modifiers
-    &.is-icon
-      padding: 5px
-      text-align: center
-      white-space: nowrap
-      width: 1%
-      .fa
-        +fa(21px, 24px)
-      &.is-link
-        padding: 0
-        & > a
-          padding: 5px
-    &.is-link
-      padding: 0
-      & > a
-        display: block
-        padding: 8px 10px
-        &:hover
-          background-color: $link
-          color: $link-invert
-    &.is-narrow
-      white-space: nowrap
-      width: 1%
-  th
-    color: $text-strong
-    text-align: left
-  tr
-    &:hover
-      background-color: $background
-      color: $text-strong
-  thead
-    td,
-    th
-      border-width: 0 0 2px
-      color: $text-light
-  tbody
-    tr
-      &:last-child
-        td,
-        th
-          border-bottom-width: 0
-  tfoot
-    td,
-    th
-      border-width: 2px 0 0
-      color: $text-light
-  // Modifiers
-  &.is-bordered
-    td,
-    th
-      border-width: 1px
-    tr
-      &:last-child
-        td,
-        th
-          border-bottom-width: 1px
-  &.is-narrow
-    td,
-    th
-      padding: 5px 10px
-      // Modifiers
-      &.is-icon
-        padding: 2px
-        &.is-link
-          padding: 0
-          & > a
-            padding: 2px
-      &.is-link
-        padding: 0
-        & > a
-          padding: 5px 10px
-  &.is-striped
-    tbody
-      tr
-        &:hover
-          background-color: darken($background, 2%)
-        &:nth-child(2n)
-          background-color: $background
-          &:hover
-            background-color: darken($background, 2%)

+ 0 - 72
client/scss/libs/bulma/elements/title.sass

@@ -1,72 +0,0 @@
-.title,
-.subtitle
-  @extend .block
-  font-weight: $weight-title-normal
-  word-break: break-word
-  em,
-  span
-    font-weight: $weight-title-normal
-  a
-    &:hover
-      border-bottom: 1px solid
-  strong
-    font-weight: $weight-title-bold
-  .tag
-    vertical-align: bottom
-
-.title
-  color: $text-strong
-  font-size: $size-large
-  line-height: 1
-  code
-    display: inline-block
-    font-size: $size-large
-  strong
-    color: inherit
-  & + .highlight
-    margin-top: -10px
-  & + .subtitle
-    margin-top: -10px
-  // Colors
-  @each $size in $sizes
-    $i: index($sizes, $size)
-    &.is-#{$i}
-      font-size: $size
-      code
-        font-size: nth($sizes, min($i + 1, 6))
-  // Modifiers
-  &.is-normal
-    font-weight: 400
-    strong
-      font-weight: 700
-  // Responsiveness
-  +tablet
-    & + .subtitle
-      margin-top: -15px
-
-.subtitle
-  color: $text
-  font-size: $size-medium
-  line-height: 1.125
-  code
-    border-radius: $radius
-    display: inline-block
-    font-size: $size-normal
-    padding: 2px 3px
-    vertical-align: top
-  strong
-    color: $text-strong
-  & + .title
-    margin-top: -20px
-  // Colors
-  @each $size in $sizes
-    $i: index($sizes, $size)
-    &.is-#{$i}
-      font-size: $size
-      code
-        font-size: nth($sizes, min($i + 1, 6))
-  // Modifiers
-  &.is-normal
-    font-weight: 400
-    strong
-      font-weight: 700

+ 0 - 13
client/scss/libs/bulma/layout/footer.sass

@@ -1,13 +0,0 @@
-.footer
-  background-color: $background
-  padding: 40px 20px 80px
-  a
-    &,
-    &:visited
-      color: $text
-      &:hover
-        color: $text-strong
-      &:not(.icon)
-        border-bottom: 1px solid $border
-        &:hover
-          border-bottom-color: $link

+ 0 - 146
client/scss/libs/bulma/layout/hero.sass

@@ -1,146 +0,0 @@
-// Components
-
-.hero-video
-  +overlay
-  overflow: hidden
-  video
-    left: 50%
-    min-height: 100%
-    min-width: 100%
-    position: absolute
-    top: 50%
-    transform: translate3d(-50%, -50%, 0)
-  // Modifiers
-  &.is-transparent
-    opacity: 0.3
-  // Responsiveness
-  +mobile
-    display: none
-
-.hero-buttons
-  margin-top: 20px
-  // Responsiveness
-  +mobile
-    .button
-      display: flex
-      &:not(:last-child)
-        margin-bottom: 10px
-  +tablet
-    display: flex
-    justify-content: center
-    .button:not(:last-child)
-      margin-right: 20px
-
-// Containers
-
-.hero-head,
-.hero-foot
-  flex-shrink: 0
-
-.hero-body
-  flex-grow: 1
-  padding: 40px 20px
-  // Responsiveness
-  +desktop
-    padding-left: 0
-    padding-right: 0
-
-// Main container
-
-.hero
-  align-items: stretch
-  background-color: $white
-  display: flex
-  flex-direction: column
-  justify-content: space-between
-  .nav
-    background: none
-    box-shadow: 0 1px 0 rgba($border, 0.3)
-  .tabs
-    ul
-      border-bottom: none
-  // Colors
-  @each $name, $pair in $colors
-    $color: nth($pair, 1)
-    $color-invert: nth($pair, 2)
-    &.is-#{$name}
-      background-color: $color
-      color: $color-invert
-      .title
-        color: $color-invert
-        a,
-        strong
-          color: inherit
-      .subtitle
-        color: rgba($color-invert, 0.7)
-        a,
-        strong
-          color: $color-invert
-      .nav
-        box-shadow: 0 1px 0 rgba($color-invert, 0.2)
-      .nav-menu
-        +mobile
-          background-color: $color
-      a.nav-item,
-      .nav-item a:not(.button)
-        color: rgba($color-invert, 0.5)
-        &:hover,
-        &.is-active
-          color: $color-invert
-      .tabs
-        a
-          color: $color-invert
-          opacity: 0.5
-          &:hover
-            opacity: 1
-        li
-          &.is-active a
-            opacity: 1
-        &.is-boxed,
-        &.is-toggle
-          a
-            color: $color-invert
-            &:hover
-              background-color: rgba($black, 0.1)
-          li.is-active a
-            &,
-            &:hover
-              background-color: $color-invert
-              border-color: $color-invert
-              color: $color
-      // Modifiers
-      &.is-bold
-        $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%)
-        $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%)
-        background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)
-      // Responsiveness
-      +mobile
-        .nav-toggle
-          span
-            background-color: $color-invert
-          &:hover
-            background-color: rgba($black, 0.1)
-          &.is-active
-            span
-              background-color: $color-invert
-        .nav-menu
-          .nav-item
-            border-top-color: rgba($color-invert, 0.2)
-  // Sizes
-  &.is-medium
-    +tablet
-      .hero-body
-        padding-bottom: 120px
-        padding-top: 120px
-  &.is-large
-    +tablet
-      .hero-body
-        padding-bottom: 240px
-        padding-top: 240px
-  &.is-fullheight
-    min-height: 100vh
-    .hero-body
-      align-items: center
-      display: flex
-      & > .container
-        flex-grow: 1

+ 0 - 5
client/scss/libs/bulma/layout/layout.sass

@@ -1,5 +0,0 @@
-@charset "utf-8"
-
-@import "hero"
-@import "section"
-@import "footer"

+ 0 - 10
client/scss/libs/bulma/layout/section.sass

@@ -1,10 +0,0 @@
-.section
-  background-color: $white
-  padding: 40px 20px
-  // Responsiveness
-  +desktop
-    // Sizes
-    &.is-medium
-      padding: 120px 20px
-    &.is-large
-      padding: 240px 20px

+ 0 - 5
client/scss/libs/bulma/utilities/animations.sass

@@ -1,5 +0,0 @@
-@keyframes spin-around
-  from
-    transform: rotate(0deg)
-  to
-    transform: rotate(359deg)

+ 0 - 52
client/scss/libs/bulma/utilities/controls.sass

@@ -1,52 +0,0 @@
-=control
-  -moz-appearance: none
-  -webkit-appearance: none
-  align-items: center
-  background-color: $control-background
-  border: 1px solid $control-border
-  border-radius: $radius
-  color: $control
-  display: inline-flex
-  font-size: $size-normal
-  height: 32px
-  justify-content: flex-start
-  line-height: 24px
-  padding-left: 8px
-  padding-right: 8px
-  position: relative
-  vertical-align: top
-  &:hover
-    border-color: $control-hover-border
-  &:active,
-  &:focus,
-  &.is-active
-    border-color: $control-active-border
-    outline: none
-  &[disabled],
-  &.is-disabled
-    background-color: $background
-    border-color: $control-border
-    cursor: not-allowed
-    pointer-events: none
-    +placeholder
-      color: rgba($control, 0.3)
-
-=control-small
-  border-radius: $radius-small
-  font-size: 11px
-  height: 24px
-  line-height: 16px
-  padding-left: 6px
-  padding-right: 6px
-=control-medium
-  font-size: 18px
-  height: 40px
-  line-height: 32px
-  padding-left: 10px
-  padding-right: 10px
-=control-large
-  font-size: 24px
-  height: 48px
-  line-height: 40px
-  padding-left: 12px
-  padding-right: 12px

+ 0 - 34
client/scss/libs/bulma/utilities/functions.sass

@@ -1,34 +0,0 @@
-@function powerNumber($number, $exp)
-  $value: 1
-  @if $exp > 0
-    @for $i from 1 through $exp
-      $value: $value * $number
-  @else if $exp < 0
-    @for $i from 1 through -$exp
-      $value: $value / $number
-  @return $value
-
-@function colorLuminance($color)
-  $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color))
-  @each $name, $value in $color-rgb
-    $adjusted: 0
-    $value: $value / 255
-    @if $value < 0.03928
-      $value: $value / 12.92
-    @else
-      $value: ($value + .055) / 1.055
-      $value: powerNumber($value, 2)
-    $color-rgb: map-merge($color-rgb, ($name: $value))
-  @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722)
-
-@function closestEvenNumber($number)
-  @if ($number % 2 == 0px)
-    @return $number
-  @else
-    @return ($number + 1px)
-
-@function findColorInvert($color)
-  @if (colorLuminance($color) > 0.8)
-    @return rgba($black, 0.5)
-  @else
-    @return white

+ 0 - 94
client/scss/libs/bulma/utilities/mixins.sass

@@ -1,94 +0,0 @@
-=arrow($color)
-  border: 1px solid $color
-  border-right: 0
-  border-top: 0
-  content: " "
-  display: block
-  height: 7px
-  pointer-events: none
-  position: absolute
-  transform: rotate(-45deg)
-  width: 7px
-
-=clearfix
-  &:after
-    clear: both
-    content: " "
-    display: table
-
-=center($size)
-  left: 50%
-  margin-left: -($size / 2)
-  margin-top: -($size / 2)
-  position: absolute
-  top: 50%
-
-=fa($size, $dimensions)
-  display: inline-block
-  font-size: $size
-  height: $dimensions
-  line-height: $dimensions
-  text-align: center
-  vertical-align: top
-  width: $dimensions
-
-=overlay($offset: 0)
-  bottom: $offset
-  left: $offset
-  position: absolute
-  right: $offset
-  top: $offset
-
-=placeholder
-  $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'
-  @each $placeholder in $placeholders
-    &:#{$placeholder}-placeholder
-      @content
-
-=replace($background, $width, $height)
-  background-color: $background
-  background-position: center center
-  background-repeat: no-repeat
-  background-size: $width $height
-  display: block
-  height: $height
-  outline: none
-  overflow: hidden
-  text-indent: -290486px
-  width: $width
-
-=from($device)
-  @media screen and (min-width: $device)
-    @content
-
-=until($device)
-  @media screen and (max-width: $device - 1px)
-    @content
-
-=mobile
-  @media screen and (max-width: $tablet - 1px)
-    @content
-
-=tablet
-  @media screen and (min-width: $tablet)
-    @content
-
-=tablet-only
-  @media screen and (min-width: $tablet) and (max-width: $desktop - 1px)
-    @content
-
-=touch
-  @media screen and (max-width: $desktop - 1px)
-    @content
-
-=desktop
-  @media screen and (min-width: $desktop)
-    @content
-
-=desktop-only
-  @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px)
-    @content
-
-=widescreen
-  @media screen and (min-width: $widescreen)
-    @content

+ 0 - 123
client/scss/libs/bulma/utilities/mixins.scss

@@ -1,123 +0,0 @@
-@mixin arrow($color) {
-  border: 1px solid $color;
-  border-right: 0;
-  border-top: 0;
-  content: " ";
-  display: block;
-  height: 7px;
-  pointer-events: none;
-  position: absolute;
-  transform: rotate(-45deg);
-  width: 7px;
-}
-
-@mixin clearfix {
-  &:after {
-    clear: both;
-    content: " ";
-    display: table;
-  }
-}
-
-@mixin center($size) {
-  left: 50%;
-  margin-left: -($size / 2);
-  margin-top: -($size / 2);
-  position: absolute;
-  top: 50%;
-}
-
-@mixin fa($size, $dimensions) {
-  display: inline-block;
-  font-size: $size;
-  height: $dimensions;
-  line-height: $dimensions;
-  text-align: center;
-  vertical-align: top;
-  width: $dimensions;
-}
-
-@mixin overlay($offset: 0) {
-  bottom: $offset;
-  left: $offset;
-  position: absolute;
-  right: $offset;
-  top: $offset;
-}
-
-@mixin placeholder {
-  $placeholders: ":-moz" ":-webkit-input" "-moz" "-ms-input";
-
-  @each $placeholder in $placeholders {
-    &:#{$placeholder}-placeholder {
-      @content;
-    }
-  }
-}
-
-@mixin replace($background, $width, $height) {
-  background-color: $background;
-  background-position: center center;
-  background-repeat: no-repeat;
-  background-size: $width $height;
-  display: block;
-  height: $height;
-  outline: none;
-  overflow: hidden;
-  text-indent: -290486px;
-  width: $width;
-}
-
-@mixin from($device) {
-  @media screen and (min-width: $device) {
-    @content;
-  }
-}
-
-@mixin until($device) {
-  @media screen and (max-width: $device - 1px) {
-    @content;
-  }
-}
-
-@mixin mobile {
-  @media screen and (max-width: $tablet - 1px) {
-    @content;
-  }
-}
-
-@mixin tablet {
-  @media screen and (min-width: $tablet) {
-    @content;
-  }
-}
-
-@mixin tablet-only {
-  @media screen and (min-width: $tablet) and (max-width: $desktop - 1px) {
-    @content;
-  }
-}
-
-@mixin touch {
-  @media screen and (max-width: $desktop - 1px) {
-    @content;
-  }
-}
-
-@mixin desktop {
-  @media screen and (min-width: $desktop) {
-    @content;
-  }
-}
-
-@mixin desktop-only {
-  @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px) {
-    @content;
-  }
-}
-
-@mixin widescreen {
-  @media screen and (min-width: $widescreen) {
-    @content;
-  }
-}

+ 0 - 174
client/scss/libs/bulma/utilities/reset.sass

@@ -1,174 +0,0 @@
-//
-//  HTML5 Reset :: style.css
-//  ----------------------------------------------------------
-//  We have learned much from/been inspired by/taken code where offered from:
-//
-//  Eric Meyer          :: http://meyerweb.com
-//  HTML5 Doctor        :: http://html5doctor.com
-//  and the HTML5 Boilerplate :: http://html5boilerplate.com
-//
-//-------------------------------------------------------------------------------
-
-// Let's default this puppy out
-
-html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary
-  margin: 0
-  padding: 0
-  border: 0
-  font-size: 100%
-  font-weight: normal
-  vertical-align: baseline
-  background: transparent
-
-article, aside, figure, footer, header, nav, section, details, summary
-  display: block
-
-// Handle box-sizing while better addressing child elements:
-// http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
-html
-  box-sizing: border-box
-
-*,
-*:before,
-*:after
-  box-sizing: inherit
-
-// consider resetting the default cursor: https://gist.github.com/murtaugh/5247154
-
-// Responsive images and other embedded objects
-img,
-object,
-embed
-  max-width: 100%
-
-//
-//   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
-//   In fact, it *will* cause problems with Google Maps' controls at small size.
-//  If this is the case for you, try uncommenting the following:
-//
-//#map img {
-//    max-width: none;
-//}
-
-// force a vertical scrollbar to prevent a jumpy page
-html
-  overflow-y: scroll
-
-// we use a lot of ULs that aren't bulleted.
-//  don't forget to restore the bullets within content.
-ul
-  list-style: none
-
-blockquote, q
-  quotes: none
-
-blockquote:before,
-blockquote:after,
-q:before,
-q:after
-  content: ''
-  content: none
-
-a
-  margin: 0
-  padding: 0
-  font-size: 100%
-  vertical-align: baseline
-  background: transparent
-
-del
-  text-decoration: line-through
-
-abbr[title], dfn[title]
-  border-bottom: 1px dotted #000
-  cursor: help
-
-// tables still need cellspacing="0" in the markup
-table
-  border-collapse: collapse
-  border-spacing: 0
-
-th
-  font-weight: bold
-  vertical-align: bottom
-
-td
-  font-weight: normal
-  vertical-align: top
-
-hr
-  display: block
-  height: 1px
-  border: 0
-  border-top: 1px solid #ccc
-  margin: 1em 0
-  padding: 0
-
-input, select
-  vertical-align: middle
-
-pre
-  white-space: pre
-  // CSS2
-  white-space: pre-wrap
-  // CSS 2.1
-  white-space: pre-line
-  // CSS 3 (and 2.1 as well, actually)
-  word-wrap: break-word
-  // IE
-
-input[type="radio"]
-  vertical-align: text-bottom
-
-input[type="checkbox"]
-  vertical-align: bottom
-
-select, input, textarea
-  font: 99% sans-serif
-
-table
-  font-size: inherit
-  font: 100%
-
-small
-  font-size: 85%
-
-strong
-  font-weight: bold
-
-td, td img
-  vertical-align: top
-
-// Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930
-sub, sup
-  font-size: 75%
-  line-height: 0
-  position: relative
-
-sup
-  top: -0.5em
-
-sub
-  bottom: -0.25em
-
-// standardize any monospaced elements
-pre, code, kbd, samp
-  font-family: monospace, sans-serif
-
-// hand cursor on clickable elements
-label,
-input[type=button],
-input[type=submit],
-input[type=file],
-button
-  cursor: pointer
-
-// Webkit browsers add a 2px margin outside the chrome of form elements
-button, input, select, textarea
-  margin: 0
-
-// make buttons play nice in IE
-button,
-input[type=button]
-  width: auto
-  overflow: visible

+ 0 - 8
client/scss/libs/bulma/utilities/utilities.sass

@@ -1,8 +0,0 @@
-@charset "utf-8"
-
-@import "reset"
-@import "functions"
-@import "mixins"
-@import "animations"
-@import "controls"
-@import "variables"

+ 0 - 153
client/scss/libs/bulma/utilities/variables.sass

@@ -1,153 +0,0 @@
-// 1. Initial variables
-
-// Colors
-
-$black: #111 !default
-$grey-darker: #222324 !default
-$grey-dark: #69707a !default
-$grey: #aeb1b5 !default
-$grey-light: #d3d6db !default
-$grey-lighter: #f5f7fa !default
-$white: #fff !default
-
-$blue: #039BE5 !default
-$green: #7CB342 !default
-$orange: #FB8C00 !default
-$purple: #673AB7 !default
-$red: #E53935 !default
-$turquoise: #00ACC1 !default
-$yellow: #fce473 !default
-
-// Typography
-
-$family-monospace: Consolas, "Liberation Mono", Menlo, Courier, monospace;
-$family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
-
-$size-1: 48px !default
-$size-2: 40px !default
-$size-3: 28px !default
-$size-4: 24px !default
-$size-5: 18px !default
-$size-6: 14px !default
-
-$size-7: 11px !default
-
-$weight-normal: 400 !default
-$weight-bold: 700 !default
-$weight-title-normal: 300 !default
-$weight-title-bold: 500 !default
-
-// Breakpoints
-
-$tablet: 769px !default
-$desktop: 980px !default
-$widescreen: 1180px !default
-
-// Dimensions
-
-$column-gap: 20px !default
-
-$nav-height: 50px !default
-
-// Miscellaneous
-
-$easing: ease-out !default
-$radius-small: 2px !default
-$radius: 3px !default
-$radius-large: 5px !default
-$speed: 86ms !default
-
-// 2. Primary colors
-
-$primary: $turquoise !default
-
-$info: $blue !default
-$success: $green !default
-$warning: $orange !default
-$danger: $red !default
-
-$light: $grey-lighter !default
-$dark: $grey-dark !default
-
-$text: $grey-dark !default
-
-// 3. Generated variables
-
-// Invert colors
-
-$primary-invert: findColorInvert($primary) !default
-
-$info-invert: findColorInvert($info) !default
-$success-invert: findColorInvert($success) !default
-$warning-invert: findColorInvert($warning) !default
-$danger-invert: findColorInvert($danger) !default
-
-$light-invert: $dark !default
-$dark-invert: $light !default
-
-// General colors
-
-$body-background: $grey-lighter !default
-
-$background: $grey-lighter !default
-
-$border: $grey-light !default
-$border-hover: $grey !default
-
-// Text colors
-
-$text-invert: findColorInvert($text) !default
-$text-light: $grey !default
-$text-strong: $grey-darker !default
-
-// Code colors
-
-$code: $red !default
-$code-background: $background !default
-
-$pre: $text !default
-$pre-background: $background !default
-
-// Link colors
-
-$link: $primary !default
-$link-invert: $primary-invert !default
-$link-visited: $purple !default
-
-$link-hover: $grey-darker !default
-$link-hover-background: $grey-lighter !default
-$link-hover-border: $grey-darker !default
-
-$link-active: $grey-darker !default
-$link-active-border: $grey-darker !default
-
-// Control colors
-
-$control: $text-strong !default
-$control-background: $text-invert !default
-$control-border: $border !default
-
-$control-hover: $link-hover !default
-$control-hover-border: $border-hover !default
-
-$control-active: $link !default
-$control-active-background: $link !default
-$control-active-background-invert: $link-invert !default
-$control-active-border: $link !default
-
-// Typography
-
-$family-primary: $family-sans-serif !default
-$family-code: $family-monospace !default
-
-$size-small: $size-7 !default
-$size-normal: $size-6 !default
-$size-medium: $size-5 !default
-$size-large: $size-3 !default
-$size-huge: $size-1 !default
-
-// 4. Lists and maps
-
-$colors: (white: ($white, $black), black: ($black, $white), light: ($light, $light-invert), dark: ($dark, $dark-invert), primary: ($primary, $primary-invert), info: ($info, $info-invert), success: ($success, $success-invert), warning: ($warning, $warning-invert), danger: ($danger, $danger-invert)) !default
-
-$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 !default

+ 25 - 1
controllers/admin.js

@@ -3,6 +3,7 @@
 var express = require('express');
 var router = express.Router();
 const Promise = require('bluebird');
+const validator = require('validator');
 
 /**
  * Admin
@@ -48,7 +49,30 @@ router.get('/users', (req, res) => {
 		return res.render('error-forbidden');
 	}
 
-	res.render('pages/admin/users', { adminTab: 'users' });
+	db.User.find({})
+		.select('-password -rights')
+		.sort('name email')
+		.exec().then((usrs) => {
+			res.render('pages/admin/users', { adminTab: 'users', usrs });
+		});
+
+});
+
+router.get('/users/:id', (req, res) => {
+
+	if(!res.locals.rights.manage) {
+		return res.render('error-forbidden');
+	}
+
+	if(!validator.isMongoId(req.params.id)) {
+		return res.render('error-forbidden');
+	}
+
+	db.User.findById(req.params.id)
+		.select('-password')
+		.exec().then((usr) => {
+			res.render('pages/admin/users-edit', { adminTab: 'users', usr });
+		});
 
 });
 

+ 33 - 0
views/modals/admin-createuser.pug

@@ -0,0 +1,33 @@
+
+.modal#modal-admin-createuser
+	.modal-background
+	.modal-container
+		.modal-content
+			header.is-blue Create / Authorize User
+			section
+				label.label Email address:
+				p.control.is-fullwidth
+					input.input(type='text', placeholder='e.g. john.doe@company.com', v-model='email')
+					span.help.is-red.is-hidden This email is invalid!
+			section
+				label.label Provider:
+				p.control.is-fullwidth
+					select(v-model='provider')
+						option(value='local') Local Database
+						option(value='windowslive') Microsoft Account
+						option(value='google') Google ID
+						option(value='facebook') Facebook
+			section(v-if="provider=='local'")
+				label.label Password:
+				p.control.is-fullwidth
+					input.input(type='password', placeholder='', v-model='password')
+					span.help.is-red.is-hidden This password is invalid!
+			section(v-if="provider=='local'")
+				label.label Full Name:
+				p.control.is-fullwidth
+					input.input(type='text', placeholder='e.g. John Doe', v-model='name')
+					span.help.is-red.is-hidden This name is invalid!
+			footer
+				a.button.is-grey.is-outlined(v-on:click="cancel") Discard
+				a.button.is-blue(v-on:click="create", v-if="provider=='local'") Create User
+				a.button.is-blue(v-on:click="create", v-if="provider!='local'") Authorize User

+ 1 - 1
views/pages/admin/_layout.pug

@@ -7,7 +7,7 @@ block rootNavRight
 	i.nav-item#notifload
 	.nav-item
 		a.button.btn-edit-discard(href='/')
-			i.fa.fa-home
+			i.icon-home
 			span Home
 
 block content

+ 5 - 5
views/pages/admin/profile.pug

@@ -33,11 +33,11 @@ block adminContent
 					label.label Provider
 					p.control.account-profile-provider
 						case user.provider
-							when 'local': i.fa.fa-database
-							when 'windowslive': i.fa.fa-windows.is-blue
-							when 'google': i.fa.fa-google.is-blue
-							when 'facebook': i.fa.fa-facebook.is-purple
-							default: i.fa.fa-question-circle
+							when 'local': i.icon-server
+							when 'windowslive': i.icon-windows2.is-blue
+							when 'google': i.icon-google.is-blue
+							when 'facebook': i.icon-facebook.is-purple
+							default: i.icon-warning
 						= t('auth:providers.' + user.provider)
 					label.label Member since
 					p.control= userMoment(user.createdAt).format('LL')

+ 114 - 0
views/pages/admin/users-edit.pug

@@ -0,0 +1,114 @@
+extends ./_layout.pug
+
+block rootNavRight
+	i.nav-item#notifload
+	.nav-item
+		a.button(href='/admin/users')
+			i.icon-reply
+			span Return to Users
+
+block adminContent
+	#page-type-admin
+		.hero
+			h1.title#title Edit User
+			h2.subtitle= usr.email
+		table.table
+			thead
+				tr
+					th Unique ID
+					th Email
+					th Provider
+					th Created On
+					th Updated On
+			tbody
+					tr
+						td.is-centered= usr._id
+						td.is-centered= usr.email
+						td.is-centered.has-icons
+							case usr.provider
+								when 'local'
+									i.icon-server.is-deep-orange
+									| Local Database
+								when 'windowslive'
+									i.icon-windows2.is-blue
+									| Microsoft Account
+								when 'google'
+									i.icon-google.is-blue
+									| Google ID
+								when 'facebook'
+									i.icon-facebook.is-purple
+									| Facebook
+								default: i.icon-warning
+						td.is-centered= userMoment(usr.createdAt).format('lll')
+						td.is-centered= userMoment(usr.updatedAt).format('lll')
+		.form-sections
+			section
+				label.label Display Name
+				p.control.is-fullwidth
+					input.input(type='text', placeholder='John Smith', value=usr.name)
+			if usr.provider == 'local'
+				section
+					label.label Password
+					p.control.is-fullwidth
+						input.input(type='password', placeholder='Password', value='********')
+			section
+				label.label Access Rights
+				table.table
+					thead.is-teal
+						tr
+							th
+							th(style={width: '200px'}) Permission(s)
+							th Path
+							th(style={width: '150px'}) Access
+							th(style={width: '50px'})
+					tbody
+						tr(v-for='right in rights')
+							td.is-icon
+								i.icon-marquee-plus.is-green(v-if='!right.deny')
+								i.icon-marquee-minus.is-red(v-if='right.deny')
+							td
+								p.control.is-fullwidth
+									select(v-model='right.role')
+										option(value='write') Read and Write
+										option(value='read') Read Only
+							td
+								.columns
+									.column.is-narrow
+										p.control
+											select(v-model='right.exact')
+												option(value='false') Path starts with:
+												option(value='true') Path match exactly:
+									.column
+										p.control.is-fullwidth
+											input.input(type='text', placeholder='/', v-model='right.path')
+							td
+								p.control.is-fullwidth
+									select(v-model='right.deny')
+										option(value='false') Allow
+										option(value='true') Deny
+							td.is-centered.has-action-icons
+								i.icon-delete.is-red
+				.table-actions
+					button.button.is-blue
+						i.icon-plus
+						span Add New Row
+			section
+				label.label Role Override
+				p.control.is-fullwidth
+					select(v-model='roleoverride')
+						option(value='none') None
+						option(value='admin') Global Administrator
+			.columns.is-gapless
+				.column
+					section
+						button.button.is-green
+							i.icon-check
+							span Save Changes
+						button.button.is-grey.is-outlined
+							i.icon-cancel
+							span Discard
+				.column.is-narrow
+					section
+						button.button.is-red
+							i.icon-trash2
+							span Delete Account

+ 47 - 15
views/pages/admin/users.pug

@@ -1,18 +1,50 @@
 extends ./_layout.pug
 
+block rootNavRight
+	i.nav-item#notifload
+	.nav-item
+		a.button.btn-create-prompt
+			i.icon-plus
+			span Create / Authorize User
+
 block adminContent
-	.hero
-		h1.title#title Users
-		h2.subtitle Manage users and rights
-		ul.hero-menu
-				li
-					a.is-blue(href='/')
-						i.icon-plus
-						span Create Local User
-				li
-					a.is-indigo(href='/')
-						i.icon-globe
-						span Authorize Social User
-	.form-sections
-		section
-			| Coming soon
+	#page-type-admin
+		.hero
+			h1.title#title Users
+			h2.subtitle Manage users and access rights
+		table.table
+			thead
+				tr
+					th
+					th Name
+					th Email
+					th Provider
+					th Created On
+					th Updated On
+			tbody
+				each usr in usrs
+					tr
+						td.is-icon
+							i.icon-user.is-grey
+						td
+							a(href='/admin/users/' + usr._id)= usr.name
+						td= usr.email
+						td.is-centered.has-icons
+							case usr.provider
+								when 'local'
+									i.icon-server.is-deep-orange
+									| Local Database
+								when 'windowslive'
+									i.icon-windows2.is-blue
+									| Microsoft Account
+								when 'google'
+									i.icon-google.is-blue
+									| Google ID
+								when 'facebook'
+									i.icon-facebook.is-purple
+									| Facebook
+								default: i.icon-warning
+						td.is-centered= userMoment(usr.createdAt).format('lll')
+						td.is-centered= userMoment(usr.updatedAt).format('lll')
+
+		include ../../modals/admin-createuser.pug

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است