diff --git a/app/javascript/styles/full-dark.scss b/app/javascript/styles/full-dark.scss new file mode 100644 index 0000000000..105964ba6f --- /dev/null +++ b/app/javascript/styles/full-dark.scss @@ -0,0 +1,3 @@ +@import 'full-dark/variables'; +@import 'application'; +@import 'full-dark/diff'; diff --git a/app/javascript/styles/full-dark/diff.scss b/app/javascript/styles/full-dark/diff.scss new file mode 100644 index 0000000000..1f97184eeb --- /dev/null +++ b/app/javascript/styles/full-dark/diff.scss @@ -0,0 +1,9 @@ +input, +textarea { + background: $ui-base-color !important; + color: $primary-text-color !important; +} + +.emoji-mart-category-label { + color: $lighter-text-color !important; +} diff --git a/app/javascript/styles/full-dark/variables.scss b/app/javascript/styles/full-dark/variables.scss new file mode 100644 index 0000000000..4e00d8a745 --- /dev/null +++ b/app/javascript/styles/full-dark/variables.scss @@ -0,0 +1,105 @@ +// Commonly used web colors +$black: #000000; // Black +$white: #ffffff; // White +$red-600: #b7253d !default; // Deep Carmine +$red-500: #df405a !default; // Cerise +$blurple-600: #563acc; // Iris +$blurple-500: #6364ff; // Brand purple +$blurple-400: #7477fd; // Medium slate blue +$blurple-300: #858afa; // Faded Blue +$grey-600: #4e4c5a; // Trout +$grey-100: #dadaf3; // Topaz + +$success-green: #79bd9a !default; // Padua +$error-red: $red-500 !default; // Cerise +$warning-red: #ff5050 !default; // Sunset Orange +$gold-star: #ca8f04 !default; // Dark Goldenrod +$kmyblue: #29a5f7 !default; + +$red-bookmark: $warning-red; + +// Values from the classic Mastodon UI +$classic-base-color: #282c37; // Midnight Express +$classic-primary-color: #9baec8; // Echo Blue +$classic-secondary-color: #d9e1e8; // Pattens Blue +$classic-highlight-color: #6364ff; // Brand purple + +// Values for kmyblue original functions +$emoji-reaction-color: #42485a !default; +$emoji-reaction-selected-color: #617ed5 !default; + +// Variables for defaults in UI +$base-shadow-color: $black !default; +$base-overlay-background: $black !default; +$base-border-color: $white !default; +$simple-background-color: $classic-base-color !default; +$valid-value-color: $success-green !default; +$error-value-color: $error-red !default; + +// Tell UI to use selected colors +$ui-base-color: $classic-base-color !default; // Darkest +$ui-base-lighter-color: #969fbc !default; // Lighter darkest +$ui-primary-color: $classic-primary-color !default; // Lighter +$ui-secondary-color: $classic-secondary-color !default; // Lightest +$ui-highlight-color: $classic-highlight-color !default; +$ui-button-color: $white !default; +$ui-button-background-color: $blurple-500 !default; +$ui-button-focus-background-color: $blurple-600 !default; +$ui-button-focus-outline-color: $blurple-400 !default; +$ui-button-focus-outline: solid 2px $ui-button-focus-outline-color !default; + +$ui-button-secondary-color: $grey-100 !default; +$ui-button-secondary-border-color: $grey-100 !default; +$ui-button-secondary-focus-background-color: $grey-600 !default; +$ui-button-secondary-focus-color: $white !default; + +$ui-button-tertiary-color: $blurple-300 !default; +$ui-button-tertiary-border-color: $blurple-300 !default; +$ui-button-tertiary-focus-background-color: $blurple-600 !default; +$ui-button-tertiary-focus-color: $white !default; + +$ui-button-destructive-background-color: $red-500 !default; +$ui-button-destructive-focus-background-color: $red-600 !default; + +$ui-button-icon-focus-outline: $ui-button-focus-outline !default; +$ui-button-icon-hover-background-color: rgba(140, 141, 255, 40%) !default; + +// Variables for texts +$primary-text-color: $white !default; +$darker-text-color: $ui-primary-color !default; +$dark-text-color: $ui-base-lighter-color !default; +$secondary-text-color: $ui-secondary-color !default; +$highlight-text-color: lighten($ui-highlight-color, 8%) !default; +$action-button-color: $ui-base-lighter-color !default; +$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default; +$passive-text-color: $gold-star !default; +$active-passive-text-color: $success-green !default; + +// For texts on inverted backgrounds +$inverted-text-color: $classic-secondary-color !default; +$lighter-text-color: $ui-base-lighter-color !default; +$light-text-color: $ui-primary-color !default; + +// Language codes that uses CJK fonts +$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW; + +// Variables for components +$media-modal-media-max-width: 100%; + +// put margins on top and bottom of image to avoid the screen covered by image. +$media-modal-media-max-height: 80%; + +$no-gap-breakpoint: 1175px; + +$font-sans-serif: 'mastodon-font-sans-serif' !default; +$font-display: 'mastodon-font-display' !default; +$font-monospace: 'mastodon-font-monospace' !default; + +:root { + --dropdown-border-color: #{lighten($ui-base-color, 12%)}; + --dropdown-background-color: #{lighten($ui-base-color, 4%)}; + --dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)}, + 0 8px 10px -6px #{rgba($base-shadow-color, 0.25)}; + --modal-background-color: #{darken($ui-base-color, 4%)}; + --modal-border-color: #{lighten($ui-base-color, 4%)}; +} diff --git a/config/locales/ja.yml b/config/locales/ja.yml index d8c103c07f..7ab76e5b92 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1817,6 +1817,7 @@ ja: themes: contrast: Mastodon (ハイコントラスト) default: Mastodon (ダーク) + full-dark: フルダーク mastodon-light: Mastodon (ライト) time: formats: diff --git a/config/themes.yml b/config/themes.yml index 9c21c9459f..7ba74bbd35 100644 --- a/config/themes.yml +++ b/config/themes.yml @@ -1,3 +1,4 @@ default: styles/application.scss contrast: styles/contrast.scss mastodon-light: styles/mastodon-light.scss +full-dark: styles/full-dark.scss