about summary refs log tree commit diff
path: root/app/javascript
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-09-03 22:05:32 +0200
committerThibG <thib@sitedethib.com>2018-09-04 16:01:41 +0200
commit6e771bf6800b47ce299825225f086ebf7aa28a68 (patch)
tree49775100ba303fffa13f593971ca3b5734b2e39b /app/javascript
parent36f50be30582b67fe906125e8613e15e3520f423 (diff)
Light theme overhaul
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/flavours/glitch/styles/mastodon-light.scss219
-rw-r--r--app/javascript/flavours/glitch/styles/mastodon-light/diff.scss294
-rw-r--r--app/javascript/flavours/glitch/styles/mastodon-light/variables.scss36
3 files changed, 332 insertions, 217 deletions
diff --git a/app/javascript/flavours/glitch/styles/mastodon-light.scss b/app/javascript/flavours/glitch/styles/mastodon-light.scss
index 029d5dde2..8fc132651 100644
--- a/app/javascript/flavours/glitch/styles/mastodon-light.scss
+++ b/app/javascript/flavours/glitch/styles/mastodon-light.scss
@@ -1,218 +1,3 @@
-// Set variables
-$ui-base-color: #d9e1e8;
-$ui-base-lighter-color: darken($ui-base-color, 57%);
-$ui-highlight-color: #2b90d9;
-$ui-primary-color: darken($ui-highlight-color, 28%);
-$ui-secondary-color: #282c37;
-
-$primary-text-color: black;
-$base-overlay-background: $ui-base-color;
-
-$login-button-color: white;
-$account-background-color: white;
-
-// Import defaults
+@import 'mastodon-light/variables';
 @import 'index';
-
-// Change the color of the log in button
-.button {
-  &.button-alternative-2 {
-    color: $login-button-color;
-  }
-}
-
-// Change columns' default background colors
-.column {
-  > .scrollable {
-    background: lighten($ui-base-color, 13%);
-  }
-}
-
-.status.collapsed .status__content:after {
-  background: linear-gradient(rgba(lighten($ui-base-color, 13%), 0), rgba(lighten($ui-base-color, 13%), 1));
-}
-
-.drawer__inner {
-  background: $ui-base-color;
-}
-
-.drawer > .contents {
-  background: $ui-base-color url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color(lighten($ui-base-color, 13%))}"/></svg>') no-repeat bottom / 100% auto !important;
-
-  .mastodon {
-    filter: contrast(75%) brightness(75%) !important;
-  }
-}
-
-// Change the default appearance of the content warning button
-.status__content {
-
-  .status__content__spoiler-link {
-
-    background: darken($ui-base-color, 30%);
-
-    &:hover {
-      background: darken($ui-base-color, 35%);
-      text-decoration: none;
-    }
-
-  }
-
-}
-
-// Change the default appearance of the action buttons
-.icon-button {
-
-  &:hover,
-  &:active,
-  &:focus {
-    color: darken($ui-base-color, 40%);
-    transition: color 200ms ease-out;
-  }
-
-  &.disabled {
-    color: darken($ui-base-color, 30%);
-  }
-
-}
-
-.status {
-  &.status-direct {
-    .icon-button.disabled {
-      color: darken($ui-base-color, 30%);
-    }
-  }
-}
-
-// Change the colors used in the dropdown menu
-.dropdown-menu {
-  background: $ui-base-color;
-}
-
-.dropdown-menu__arrow {
-
-  &.left {
-    border-left-color: $ui-base-color;
-  }
-
-  &.top {
-    border-top-color: $ui-base-color;
-  }
-
-  &.bottom {
-    border-bottom-color: $ui-base-color;
-  }
-
-  &.right {
-    border-right-color: $ui-base-color;
-  }
-
-}
-
-.dropdown-menu__item {
-  a {
-    background: $ui-base-color;
-    color: $ui-secondary-color;
-  }
-}
-
-// Change the default color of several parts of the compose form
-.composer {
-
-  .composer--spoiler input, .composer--textarea textarea {
-    color: darken($ui-base-color, 80%);
-
-    &:disabled { background: darken($simple-background-color, 10%) }
-
-    &::placeholder {
-      color: darken($ui-base-color, 70%);
-    }
-  }
-
-  strong {
-    color: lighten($ui-secondary-color, 65%);
-  }
-
-  .composer--options {
-    background: darken($ui-base-color, 10%);
-    box-shadow: unset;
-  }
-
-  .composer--options--dropdown--content--item {
-    color: $ui-primary-color;
-    
-    strong {
-      color: $ui-primary-color;
-    }
-
-  }
-
-}
-
-// Change the default color used for the text in an empty column or on the error column
-.empty-column-indicator,
-.error-column {
-  color: darken($ui-base-color, 60%);
-}
-
-// Change the default colors used on some parts of the profile pages
-.activity-stream-tabs {
-
-  background: $account-background-color;
-
-  a {
-    &.active {
-      color: $ui-primary-color;
-      }
-  }
-
-}
-
-.activity-stream {
-
-  .entry {
-    background: $account-background-color;
-  }
-
-  .status.light {
-
-    .status__content {
-      color: $primary-text-color;
-    }
-
-    .display-name {
-      strong {
-        color: $primary-text-color;
-      }
-    }
-
-  }
-
-}
-
-.accounts-grid {
-  .account-grid-card {
-
-    .controls {
-      .icon-button {
-        color: $ui-secondary-color;
-      }
-    }
-
-    .name {
-      a {
-        color: $primary-text-color;
-      }
-    }
-
-    .username {
-      color: $ui-secondary-color;
-    }
-
-    .account__header__content {
-      color: $primary-text-color;
-    }
-
-  }
-}
-
+@import 'mastodon-light/diff';
diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
new file mode 100644
index 000000000..00d2411a1
--- /dev/null
+++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss
@@ -0,0 +1,294 @@
+// Notes!
+// Sass color functions, "darken" and "lighten" are automatically replaced.
+
+.glitch.local-settings {
+  background: $ui-base-color;
+
+  &__navigation {
+    background: darken($ui-base-color, 8%);
+  }
+
+  &__navigation__item {
+    background: darken($ui-base-color, 8%);
+
+    &:hover {
+      background: $ui-base-color;
+    }
+  }
+}
+
+.notification__dismiss-overlay {
+  .wrappy {
+    box-shadow: unset;
+  }
+
+  .ckbox {
+    text-shadow: unset;
+  }
+}
+
+.status.status-direct {
+  background: darken($ui-base-color, 8%);
+
+  &.collapsed> .status__content:after {
+    background: linear-gradient(rgba(darken($ui-base-color, 8%), 0), rgba(darken($ui-base-color, 8%), 1));
+  }
+}
+
+.focusable:focus.status.status-direct {
+  background: darken($ui-base-color, 4%);
+
+  &.collapsed> .status__content:after {
+    background: linear-gradient(rgba(darken($ui-base-color, 4%), 0), rgba(darken($ui-base-color, 4%), 1));
+  }
+}
+
+// Change columns' default background colors
+.column {
+  > .scrollable {
+    background: darken($ui-base-color, 13%);
+  }
+}
+
+.status.collapsed .status__content:after {
+  background: linear-gradient(rgba(darken($ui-base-color, 13%), 0), rgba(darken($ui-base-color, 13%), 1));
+}
+
+.drawer__inner {
+  background: $ui-base-color;
+}
+
+.drawer > .contents {
+  background: $ui-base-color url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color(darken($ui-base-color, 13%))}"/></svg>') no-repeat bottom / 100% auto !important;
+
+  .mastodon {
+    filter: contrast(75%) brightness(75%) !important;
+  }
+}
+
+// Change the default appearance of the content warning button
+.status__content {
+
+  .status__content__spoiler-link {
+
+    background: lighten($ui-base-color, 30%);
+
+    &:hover {
+      background: lighten($ui-base-color, 35%);
+      text-decoration: none;
+    }
+
+  }
+
+}
+
+// Change the colors used in the dropdown menu
+.dropdown-menu {
+  background: $ui-base-color;
+}
+
+.dropdown-menu__arrow {
+
+  &.left {
+    border-left-color: $ui-base-color;
+  }
+
+  &.top {
+    border-top-color: $ui-base-color;
+  }
+
+  &.bottom {
+    border-bottom-color: $ui-base-color;
+  }
+
+  &.right {
+    border-right-color: $ui-base-color;
+  }
+
+}
+
+.dropdown-menu__item {
+  a {
+    background: $ui-base-color;
+    color: $ui-secondary-color;
+  }
+}
+
+// Change the default color of several parts of the compose form
+.composer {
+
+  .composer--spoiler input, .composer--textarea textarea {
+    color: lighten($ui-base-color, 80%);
+
+    &:disabled { background: lighten($simple-background-color, 10%) }
+
+    &::placeholder {
+      color: lighten($ui-base-color, 70%);
+    }
+  }
+
+  .composer--options {
+    background: lighten($ui-base-color, 10%);
+    box-shadow: unset;
+
+    & > hr {
+      display: none;
+    }
+  }
+
+  .composer--options--dropdown--content--item {
+    color: $ui-primary-color;
+    
+    strong {
+      color: $ui-primary-color;
+    }
+
+  }
+
+}
+
+.dropdown-menu__separator {
+  border-bottom-color: lighten($ui-base-color, 12%);
+}
+
+.status__content,
+.reply-indicator__content {
+  a {
+    color: $highlight-text-color;
+  }
+}
+
+.emoji-mart-bar {
+  border-color: darken($ui-base-color, 4%);
+
+  &:first-child {
+    background: lighten($ui-base-color, 10%);
+  }
+}
+
+.emoji-mart-search input {
+  background: rgba($ui-base-color, 0.3);
+  border-color: $ui-base-color;
+}
+
+.composer--textarea--suggestions {
+  background: lighten($ui-base-color, 10%)
+}
+
+.composer--textarea--suggestions--item {
+  &:hover,
+  &:focus,
+  &:active,
+  &.selected {
+    background: darken($ui-base-color, 4%);
+  }
+}
+
+.react-toggle-track {
+  background: $ui-secondary-color;
+}
+
+.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
+  background: lighten($ui-secondary-color, 10%);
+}
+
+.react-toggle.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
+  background: darken($ui-highlight-color, 10%);
+}
+
+// Change the background colors of modals
+.actions-modal,
+.boost-modal,
+.confirmation-modal,
+.mute-modal,
+.report-modal,
+.embed-modal,
+.error-modal,
+.onboarding-modal {
+  background: $ui-base-color;
+}
+
+.boost-modal__action-bar,
+.confirmation-modal__action-bar,
+.mute-modal__action-bar,
+.onboarding-modal__paginator,
+.error-modal__footer {
+  background: darken($ui-base-color, 6%);
+
+  .onboarding-modal__nav,
+  .error-modal__nav {
+    &:hover,
+    &:focus,
+    &:active {
+      background-color: darken($ui-base-color, 12%);
+    }
+  }
+}
+
+// Change the default color used for the text in an empty column or on the error column
+.empty-column-indicator,
+.error-column {
+  color: lighten($ui-base-color, 60%);
+}
+
+// Change the default colors used on some parts of the profile pages
+.activity-stream-tabs {
+
+  background: $account-background-color;
+
+  a {
+    &.active {
+      color: $ui-primary-color;
+      }
+  }
+
+}
+
+.activity-stream {
+
+  .entry {
+    background: $account-background-color;
+  }
+
+  .status.light {
+
+    .status__content {
+      color: $primary-text-color;
+    }
+
+    .display-name {
+      strong {
+        color: $primary-text-color;
+      }
+    }
+
+  }
+
+}
+
+.accounts-grid {
+  .account-grid-card {
+
+    .controls {
+      .icon-button {
+        color: $ui-secondary-color;
+      }
+    }
+
+    .name {
+      a {
+        color: $primary-text-color;
+      }
+    }
+
+    .username {
+      color: $ui-secondary-color;
+    }
+
+    .account__header__content {
+      color: $primary-text-color;
+    }
+
+  }
+}
+
diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss
new file mode 100644
index 000000000..36f51f067
--- /dev/null
+++ b/app/javascript/flavours/glitch/styles/mastodon-light/variables.scss
@@ -0,0 +1,36 @@
+// Dependent colors
+$black: #000000;
+$white: #ffffff;
+
+$classic-base-color: #282c37;
+$classic-primary-color: #9baec8;
+$classic-secondary-color: #d9e1e8;
+$classic-highlight-color: #2b90d9;
+
+$ui-base-color: $classic-secondary-color !default;
+$ui-base-lighter-color: darken($ui-base-color, 57%);
+$ui-highlight-color: $classic-highlight-color !default;
+$ui-primary-color: $classic-primary-color !default;
+$ui-secondary-color: $classic-base-color !default;
+
+$primary-text-color: $black !default;
+$darker-text-color: $classic-base-color !default;
+$dark-text-color: #444b5d;
+$action-button-color: #606984;
+
+$base-overlay-background: $white !default;
+
+$inverted-text-color: $black !default;
+$lighter-text-color: $classic-base-color !default;
+$light-text-color: #444b5d;
+
+$account-background-color: $white !default;
+
+//Invert darkened and lightened colors
+@function darken($color, $amount) {
+  @return hsl(hue($color), saturation($color), lightness($color) + $amount);
+}
+
+@function lighten($color, $amount) {
+  @return hsl(hue($color), saturation($color), lightness($color) - $amount);
+}