diff --git a/apps/stage-web/locales/en.yml b/apps/stage-web/locales/en.yml index ef0f96fc8..c668dec4e 100644 --- a/apps/stage-web/locales/en.yml +++ b/apps/stage-web/locales/en.yml @@ -295,32 +295,74 @@ settings: field: primary-color: label: Primary color - reset: - label: Reset to Default rgb-on: title: I Want It Dynamic! - title: Custom Colors + title: Color Scheme + developer: + title: Developer theme-presets: - preset: - chinese: - description: >- - Traditional Chinese colors, derived from ancient textiles, - porcelain and paintings - title: Chinese Traditional Colors - japanese: - description: Traditional Japanese color palette - title: Japanese Colors - monet: - description: Impressionist palette inspired by Claude Monet's works - title: Monet Colors - morandi: + presets: + - colors: + - Airi Green + description: The default greenish theme color, brought by Airi to you! + title: Default Color + - colors: + - Taupe + - Beige + - Ash Grey + - Light Taupe + - Ivory + - Olive Grey + - Sand + - Warm Grey description: Soft, muted tones inspired by Giorgio Morandi's paintings title: Morandi Colors - nordic: + - colors: + - Sky Blue + - Mist + - Sand + - Moss Green + - Water Lily + - Wheat + - Slate Blue + - Sage + description: Impressionist palette inspired by Claude Monet's works + title: Monet Colors + - colors: + - Tan + - Warm Taupe + - Umber + - Coffee + - Bronze + - Gold + - Mustard + - Amber + description: Traditional Japanese color palette + title: Japanese Colors + - colors: + - Nordic Blue + - Ice + - Fjord + - Steel + - Glacier + - Slate + - Cloud + - Stone description: Scandinavian minimalist color scheme title: Nordic Colors - title: Theme Presets - title: Themes + - colors: + - Rosy Dawn + - Chinese Red + - Smoky Brown + - Bamboo Green + - Dark Purple + - Golden Yellow + - Azure Blue + - Ochre + description: Traditional Chinese colors, derived from ancient textiles, porcelain and paintings + title: Chinese Traditional Colors + title: Color Scheme Presets + title: Appearance sections: section: general: diff --git a/apps/stage-web/locales/zh-CN.yml b/apps/stage-web/locales/zh-CN.yml index 94517681b..49cab6647 100644 --- a/apps/stage-web/locales/zh-CN.yml +++ b/apps/stage-web/locales/zh-CN.yml @@ -281,31 +281,80 @@ settings: fields: field: primary-color: - label: 主题色 - reset: - label: 重设为默认主题色 + label: 强调色 rgb-on: - title: RGB ON - title: 自定义主题色 + title: RGB ON! + title: 配色 + developer: + title: 开发者 theme-presets: - preset: - chinese: - title: 中国传统颜色 - japanese: - title: 日本颜色 - monet: - title: 莫奈颜色 - morandi: + presets: + - colors: + - Airi 绿 + description: The default greenish theme color, brought by Airi to you! + title: 默认颜色 + - colors: + - Taupe + - Beige + - Ash Grey + - Light Taupe + - Ivory + - Olive Grey + - Sand + - Warm Grey + description: Soft, muted tones inspired by Giorgio Morandi's paintings title: Morandi 颜色 - nordic: + - colors: + - Sky Blue + - Mist + - Sand + - Moss Green + - Water Lily + - Wheat + - Slate Blue + - Sage + description: Impressionist palette inspired by Claude Monet's works + title: 莫奈颜色 + - colors: + - Tan + - Warm Taupe + - Umber + - Coffee + - Bronze + - Gold + - Mustard + - Amber + description: Traditional Japanese color palette + title: 日本颜色 + - colors: + - Nordic Blue + - Ice + - Fjord + - Steel + - Glacier + - Slate + - Cloud + - Stone + description: Scandinavian minimalist color scheme title: 北欧颜色 - title: 主题预设 - title: 舞台主题 + - colors: + - 霞光红 + - 枣红 + - 黄栌 + - 竹青 + - 乌梅紫 + - 缃色 + - 青冥 + - 赭石 + description: Traditional Chinese colors, derived from ancient textiles, porcelain and paintings + title: 中国传统颜色 + title: 预设 + title: 外观 sections: section: general: title: 通用 - theme: 主题颜色 + theme: 主题 title: 设置 voices: 声线 stage: diff --git a/apps/stage-web/src/components/Settings/CheckBar.vue b/apps/stage-web/src/components/Settings/CheckBar.vue new file mode 100644 index 000000000..f203cc4dc --- /dev/null +++ b/apps/stage-web/src/components/Settings/CheckBar.vue @@ -0,0 +1,30 @@ + + + + + + {{ $t(text) }} + + + + + + + + diff --git a/apps/stage-web/src/components/Settings/ColorPalette.vue b/apps/stage-web/src/components/Settings/ColorPalette.vue index cecc7146e..274116626 100644 --- a/apps/stage-web/src/components/Settings/ColorPalette.vue +++ b/apps/stage-web/src/components/Settings/ColorPalette.vue @@ -16,7 +16,7 @@ const settings = useSettings() - + {{ name }} - + diff --git a/apps/stage-web/src/components/Settings/Section.vue b/apps/stage-web/src/components/Settings/Section.vue index ccac2dc94..80214e500 100644 --- a/apps/stage-web/src/components/Settings/Section.vue +++ b/apps/stage-web/src/components/Settings/Section.vue @@ -1,29 +1,25 @@ - {{ t(title) }} + {{ $t(title) }} +import { useSettings } from '@proj-airi/stage-ui/stores' +import { useDark } from '@vueuse/core' +import { useRouter } from 'vue-router' + +import CheckBar from '../../../components/Settings/CheckBar.vue' +import ColorPalette from '../../../components/Settings/ColorPalette.vue' +import Section from '../../../components/Settings/Section.vue' +import COLOR_PRESETS from './color-presets.json' + +const router = useRouter() +const settings = useSettings() +const dark = useDark() + + + + + + + + + + {{ $t('settings.title') }} + + + {{ $t('settings.pages.themes.title') }} + + + + + + + + + + {{ $t('settings.language.title') }} + + + {{ $t('settings.language.english') }} + + + {{ $t('settings.language.chinese') }} + + + + + + + + {{ $t('settings.pages.themes.sections.section.custom-color.fields.field.primary-color.label') }} + + + + {{ $t('settings.pages.themes.sections.section.custom-color.fields.field.primary-color.rgb-on.title') }} + + + + + 50 + 100 + 200 + 300 + 400 + 500 + + 600 + 700 + 800 + 900 + 950 + + + + 500/5 + 500/10 + 500/20 + 500/30 + 500/40 + 500/50 + 500/60 + 500/70 + 500/80 + 500/90 + 500 + + + + + + + {{ $rt(title) }} + + {{ $rt(description) }} + + + + + + + + + + + + + + + + + + +meta: + stageTransition: + name: slide + diff --git a/apps/stage-web/src/pages/settings/index.vue b/apps/stage-web/src/pages/settings/index.vue index 28182effe..c9f8ed2f2 100644 --- a/apps/stage-web/src/pages/settings/index.vue +++ b/apps/stage-web/src/pages/settings/index.vue @@ -1,27 +1,14 @@ - {{ t('settings.title') }} + {{ $t('settings.title') }} @@ -40,8 +27,8 @@ function handleLanguageChange(event: Event) { :initial="{ opacity: 0, y: 10 }" :enter="{ opacity: 1, y: 0 }" :duration="250" - :title="t('settings.pages.modules.title')" - :description="t('settings.pages.modules.description')" + :title="$t('settings.pages.modules.title')" + :description="$t('settings.pages.modules.description')" icon="i-lucide:blocks" to="/settings/modules" /> @@ -51,8 +38,8 @@ function handleLanguageChange(event: Event) { :enter="{ opacity: 1, y: 0 }" :duration="250" :delay="50" - :title="t('settings.pages.models.title')" - :description="t('settings.pages.models.description')" + :title="$t('settings.pages.models.title')" + :description="$t('settings.pages.models.description')" icon="i-lucide:person-standing" to="/settings/models" /> @@ -62,8 +49,8 @@ function handleLanguageChange(event: Event) { :enter="{ opacity: 1, y: 0 }" :duration="250" :delay="100" - :title="t('settings.pages.memory.title')" - :description="t('settings.pages.memory.description')" + :title="$t('settings.pages.memory.title')" + :description="$t('settings.pages.memory.description')" icon="i-lucide:sprout" to="/settings/memory" /> @@ -73,8 +60,8 @@ function handleLanguageChange(event: Event) { :enter="{ opacity: 1, y: 0 }" :duration="250" :delay="100" - :title="t('settings.pages.providers.title')" - :description="t('settings.pages.providers.description')" + :title="$t('settings.pages.providers.title')" + :description="$t('settings.pages.providers.description')" icon="i-lucide:brain" to="/settings/providers" /> @@ -84,140 +71,12 @@ function handleLanguageChange(event: Event) { :enter="{ opacity: 1, y: 0 }" :duration="250" :delay="150" - :title="t('settings.pages.themes.title')" - :description="t('settings.pages.themes.description')" + :title="$t('settings.pages.themes.title')" + :description="$t('settings.pages.themes.description')" icon="i-lucide:paintbrush" - to="/settings/themes" + to="/settings/appearance" /> - - - {{ t('settings.sections.section.general.title') }} - - - - - - - {{ t('settings.language.title') }} - - - - - {{ t('settings.language.english') }} - - - {{ t('settings.language.chinese') }} - - - - - - - - - - {{ t('settings.theme') }} - - - - - - - - - - - - - - - {{ t('settings.animations.stage-transitions.title') }} - - - - - - - - - - diff --git a/apps/stage-web/src/pages/settings/themes/index.vue b/apps/stage-web/src/pages/settings/themes/index.vue deleted file mode 100644 index dfa6f2851..000000000 --- a/apps/stage-web/src/pages/settings/themes/index.vue +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - {{ t('settings.title') }} - - - {{ t('settings.pages.themes.title') }} - - - - - - - - - - - - {{ t('settings.pages.themes.sections.section.custom-color.title') }} - - - - - - - - - - {{ t('settings.pages.themes.sections.section.custom-color.fields.field.primary-color.label') }} - - - - - - - - 50 - - - 100 - - - 200 - - - 300 - - - 400 - - - 500 - - - 600 - - - 700 - - - 800 - - - 900 - - - 950 - - - - - - 500/5 - - - 500/10 - - - 500/20 - - - 500/30 - - - 500/40 - - - 500/50 - - - 500/60 - - - 500/70 - - - 500/80 - - - 500/90 - - - 500 - - - - - - - - - {{ t('settings.pages.themes.sections.section.custom-color.fields.field.primary-color.rgb-on.title') }} - - - - {{ t('settings.pages.themes.sections.section.custom-color.fields.field.primary-color.reset.label') }} - - - - - - - - - - - - {{ t('settings.pages.themes.sections.section.theme-presets.title') }} - - - - - - - - - - - - - {{ preset.name }} - - - {{ preset.description }} - - - - - - - - - - - {{ color.name }} - - - - - - - - - - - - - - - - - - - -meta: - stageTransition: - name: slide -