diff --git a/app/javascript/styles/758postal/variables.scss b/app/javascript/styles/758postal/variables.scss index cab9be4a9d..7a22103c9b 100644 --- a/app/javascript/styles/758postal/variables.scss +++ b/app/javascript/styles/758postal/variables.scss @@ -1,26 +1,28 @@ -// Commonly used web colors -$black: #000000; // Black -$white: #ffffff; // White -$red-600: #8900e7 !default; // Ayame -$red-500: #9c32e4 !default; // Murasaki +// 758postal Renga theme +// v1.02 + +$black: #000000; // Kuro +$white: #ffffff; // Shiro +$red-600: #bd5cff !default; // Murasaki +$red-500: #c485ef !default; // Tsutsuji $blurple-600: #d51a2a; // Postal-red -$blurple-500: #df505c; -$blurple-400: #e46b75; -$blurple-300: #e8828b; -$grey-600: #514a48; -$grey-100: #cdcbca; +$blurple-500: #dd4855; +$blurple-400: #e46a74; +$blurple-300: #ea8d95; +$grey-600: #584b46; +$grey-100: #c2bebd; $success-green: #8db568 !default; // Matcha $error-red: $red-500 !default; -$warning-red: #437aff !default; //Tsuyukusa +$warning-red: #8c72ff !default; //Rindou $gold-star: #de8937 !default; //Kogane $red-bookmark: $warning-red; // Values from the classic Mastodon UI -$classic-base-color: #3d2f2a; // Renga -$classic-primary-color: #9e9795; -$classic-secondary-color: #e2e0df; +$classic-base-color: #342018; // Renga +$classic-primary-color: #cab1a7; +$classic-secondary-color: #e0dddc; $classic-highlight-color: $blurple-500; // Variables for defaults in UI @@ -60,7 +62,7 @@ $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(255, 112, 129, 40%) !default; +$ui-button-icon-hover-background-color: rgba(255, 101, 120, 40%) !default; // Variables for texts $primary-text-color: $white !default; diff --git a/app/javascript/styles/hatoba.scss b/app/javascript/styles/hatoba.scss new file mode 100644 index 0000000000..c62abafcd5 --- /dev/null +++ b/app/javascript/styles/hatoba.scss @@ -0,0 +1,2 @@ +@import 'hatoba/variables'; +@import 'application'; \ No newline at end of file diff --git a/app/javascript/styles/hatoba/variables.scss b/app/javascript/styles/hatoba/variables.scss new file mode 100644 index 0000000000..c52b75525e --- /dev/null +++ b/app/javascript/styles/hatoba/variables.scss @@ -0,0 +1,116 @@ +// 758postal Hatoba theme +// v1.00 + +$black: #000000; // Kuro +$white: #ffffff; // Shiro +$red-600: #bd5cff !default; // Murasaki +$red-500: #c485ef !default; // Tsutsuji +$blurple-600: #d51a2a; // Postal-red +$blurple-500: #dd4855; +$blurple-400: #e46a74; +$blurple-300: #ea8d95; +$grey-600: #5b5264; +$grey-100: #e6d6f4; + +$success-green: #8db568 !default; // Matcha +$error-red: $red-500 !default; +$warning-red: #8c72ff !default; //Rindou +$gold-star: #de8937 !default; //Kogane + +$red-bookmark: $warning-red; + +// Values from the classic Mastodon UI +$classic-base-color: #2a2033; // Hatoba +$classic-primary-color: #b8aac4; +$classic-secondary-color: #e7e1ec; +$classic-highlight-color: $blurple-500; + +// Variables for defaults in UI +$base-shadow-color: $black !default; +$base-overlay-background: $black !default; +$base-border-color: $white !default; +$simple-background-color: $white !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: lighten( + $ui-base-color, + 26% +) !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: $blurple-500 !default; +$ui-button-secondary-border-color: $blurple-500 !default; +$ui-button-secondary-focus-border-color: $blurple-300 !default; +$ui-button-secondary-focus-color: $blurple-300 !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(255, 101, 120, 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: $ui-base-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; +$mobile-breakpoint: 630px; + +$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, 4%)}; + --dropdown-background-color: #{rgba(darken($ui-base-color, 8%), 0.9)}; + --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: #{rgba(darken($ui-base-color, 8%), 0.7)}; + --modal-background-variant-color: #{rgba($ui-base-color, 0.7)}; + --modal-border-color: #{lighten($ui-base-color, 4%)}; + --background-border-color: #{lighten($ui-base-color, 4%)}; + --background-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%); + --background-color: #{darken($ui-base-color, 8%)}; + --background-color-tint: #{rgba(darken($ui-base-color, 8%), 0.9)}; + --surface-background-color: #{darken($ui-base-color, 4%)}; + --surface-variant-background-color: #{$ui-base-color}; + --surface-variant-active-background-color: #{lighten($ui-base-color, 4%)}; + --on-surface-color: #{transparentize($ui-base-color, 0.5)}; + --avatar-border-radius: 8px; +} diff --git a/app/javascript/styles/karasuba.scss b/app/javascript/styles/karasuba.scss new file mode 100644 index 0000000000..91f922393e --- /dev/null +++ b/app/javascript/styles/karasuba.scss @@ -0,0 +1,2 @@ +@import 'karasuba/variables'; +@import 'application'; \ No newline at end of file diff --git a/app/javascript/styles/karasuba/variables.scss b/app/javascript/styles/karasuba/variables.scss new file mode 100644 index 0000000000..db3293a4e6 --- /dev/null +++ b/app/javascript/styles/karasuba/variables.scss @@ -0,0 +1,116 @@ +// 758postal Karasuba theme +// v1.00 + +$black: #000000; // Kuro +$white: #ffffff; // Shiro +$red-600: #bd5cff !default; // Murasaki +$red-500: #c485ef !default; // Tsutsuji +$blurple-600: #d51a2a; // Postal-red +$blurple-500: #dd4855; +$blurple-400: #e46a74; +$blurple-300: #ea8d95; +$grey-600: #575f57; +$grey-100: #e4e6e4; + +$success-green: #8db568 !default; // Matcha +$error-red: $red-500 !default; +$warning-red: #8c72ff !default; //Rindou +$gold-star: #de8937 !default; //Kogane + +$red-bookmark: $warning-red; + +// Values from the classic Mastodon UI +$classic-base-color: #001100; // Karasuba +$classic-primary-color: #a8c6a8; +$classic-secondary-color: #e9f2e9; +$classic-highlight-color: $blurple-500; + +// Variables for defaults in UI +$base-shadow-color: $black !default; +$base-overlay-background: $black !default; +$base-border-color: $white !default; +$simple-background-color: $white !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: lighten( + $ui-base-color, + 26% +) !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: $blurple-500 !default; +$ui-button-secondary-border-color: $blurple-500 !default; +$ui-button-secondary-focus-border-color: $blurple-300 !default; +$ui-button-secondary-focus-color: $blurple-300 !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(255, 101, 120, 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: $ui-base-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; +$mobile-breakpoint: 630px; + +$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, 4%)}; + --dropdown-background-color: #{rgba(darken($ui-base-color, 8%), 0.9)}; + --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: #{rgba(darken($ui-base-color, 8%), 0.7)}; + --modal-background-variant-color: #{rgba($ui-base-color, 0.7)}; + --modal-border-color: #{lighten($ui-base-color, 4%)}; + --background-border-color: #{lighten($ui-base-color, 4%)}; + --background-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%); + --background-color: #{darken($ui-base-color, 8%)}; + --background-color-tint: #{rgba(darken($ui-base-color, 8%), 0.9)}; + --surface-background-color: #{darken($ui-base-color, 4%)}; + --surface-variant-background-color: #{$ui-base-color}; + --surface-variant-active-background-color: #{lighten($ui-base-color, 4%)}; + --on-surface-color: #{transparentize($ui-base-color, 0.5)}; + --avatar-border-radius: 8px; +} diff --git a/config/locales/en.yml b/config/locales/en.yml index 744ff2faea..e5dc63793f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1739,7 +1739,9 @@ en: contrast: Mastodon (High contrast) default: Mastodon (Dark) mastodon-light: Mastodon (Light) - 758postal: 758postal (Dark) + 758postal: 758postal Renga (Dark) + hatoba: 758postal Hatoba (Dark) + karasuba: 758postal Karasuba (Dark) time: formats: default: "%b %d, %Y, %H:%M" diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 5bd49b676c..894cc7468f 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1701,7 +1701,9 @@ ja: contrast: Mastodon (ハイコントラスト) default: Mastodon (ダーク) mastodon-light: Mastodon (ライト) - 758postal: 七五八逓信局 (ダーク) + 758postal: 七五八逓信局・煉瓦 (ダーク) + hatoba: 七五八逓信局・鳩羽 (ダーク) + karasuba: 七五八逓信局・烏羽 (ダーク) time: formats: default: "%Y年%m月%d日 %H:%M" diff --git a/config/themes.yml b/config/themes.yml index 763ecb71f1..39e0859fb7 100644 --- a/config/themes.yml +++ b/config/themes.yml @@ -2,3 +2,5 @@ default: styles/application.scss contrast: styles/contrast.scss mastodon-light: styles/mastodon-light.scss 758postal: styles/758postal.scss +hatoba: styles/hatoba.scss +karasuba: styles/karasuba.scss