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 814b9c6e90..e5dc63793f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1741,6 +1741,7 @@ en: mastodon-light: Mastodon (Light) 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 2e7dbb9a1e..894cc7468f 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1703,6 +1703,7 @@ ja: mastodon-light: Mastodon (ライト) 758postal: 七五八逓信局・煉瓦 (ダーク) hatoba: 七五八逓信局・鳩羽 (ダーク) + karasuba: 七五八逓信局・烏羽 (ダーク) time: formats: default: "%Y年%m月%d日 %H:%M" diff --git a/config/themes.yml b/config/themes.yml index d29fbd8e88..39e0859fb7 100644 --- a/config/themes.yml +++ b/config/themes.yml @@ -3,3 +3,4 @@ contrast: styles/contrast.scss mastodon-light: styles/mastodon-light.scss 758postal: styles/758postal.scss hatoba: styles/hatoba.scss +karasuba: styles/karasuba.scss