From 74136b9ccf5c9047c885f583c11b9e91cc984838 Mon Sep 17 00:00:00 2001 From: Rin Date: Wed, 24 Dec 2025 12:38:09 +0800 Subject: [PATCH] feat(stage-ui,stage-web): custom chat background (#825) --- Cargo.toml | 9 +- .../Backgrounds/AppBackgroundPickerDialog.vue | 21 ++ .../Backgrounds/ChromaticWavePreview.vue | 15 + .../Backgrounds/CustomizedBackground.vue | 73 ++++ .../components/Layouts/MobileHeaderLink.vue | 16 +- .../Layouts/MobileInteractiveArea.vue | 6 + .../components/Widgets/ChatActionButtons.vue | 17 + apps/stage-web/src/composables/theme-color.ts | 148 ++++++++ .../devtools/background-gradient-blending.vue | 25 +- apps/stage-web/src/pages/index.vue | 79 ++-- apps/stage-web/src/stores/background.ts | 279 ++++++++++++++ .../stage-ui/src/components/ThemeOverlay.vue | 14 + .../background-picker-dialog.vue | 65 ++++ .../background-picker/background-picker.vue | 339 ++++++++++++++++++ .../dialogs/background-picker/index.ts | 3 + .../dialogs/background-picker/types.ts | 31 ++ .../src/components/scenarios/dialogs/index.ts | 1 + .../src/components/scenes/live2d/Model.vue | 5 +- .../stage-ui/src/libs/color-from-element.ts | 20 ++ pnpm-lock.yaml | 19 +- 20 files changed, 1100 insertions(+), 85 deletions(-) create mode 100644 apps/stage-web/src/components/Backgrounds/AppBackgroundPickerDialog.vue create mode 100644 apps/stage-web/src/components/Backgrounds/ChromaticWavePreview.vue create mode 100644 apps/stage-web/src/components/Backgrounds/CustomizedBackground.vue create mode 100644 apps/stage-web/src/stores/background.ts create mode 100644 packages/stage-ui/src/components/ThemeOverlay.vue create mode 100644 packages/stage-ui/src/components/scenarios/dialogs/background-picker/background-picker-dialog.vue create mode 100644 packages/stage-ui/src/components/scenarios/dialogs/background-picker/background-picker.vue create mode 100644 packages/stage-ui/src/components/scenarios/dialogs/background-picker/index.ts create mode 100644 packages/stage-ui/src/components/scenarios/dialogs/background-picker/types.ts diff --git a/Cargo.toml b/Cargo.toml index 57e3a860b..3627a9317 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,12 @@ [workspace] -members = [ "crates/tauri-plugin-ipc-audio-transcription-ort", "crates/tauri-plugin-ipc-audio-vad-ort", "crates/tauri-plugin-mcp", "crates/tauri-plugin-rdev", "crates/tauri-plugin-window-pass-through-on-hover", "crates/tauri-plugin-window-router-link" ] +members = [ + "crates/tauri-plugin-ipc-audio-transcription-ort", + "crates/tauri-plugin-ipc-audio-vad-ort", + "crates/tauri-plugin-mcp", + "crates/tauri-plugin-rdev", + "crates/tauri-plugin-window-pass-through-on-hover", + "crates/tauri-plugin-window-router-link" +] resolver = "2" [workspace.package] diff --git a/apps/stage-web/src/components/Backgrounds/AppBackgroundPickerDialog.vue b/apps/stage-web/src/components/Backgrounds/AppBackgroundPickerDialog.vue new file mode 100644 index 000000000..c00bd30d0 --- /dev/null +++ b/apps/stage-web/src/components/Backgrounds/AppBackgroundPickerDialog.vue @@ -0,0 +1,21 @@ + + + diff --git a/apps/stage-web/src/components/Backgrounds/ChromaticWavePreview.vue b/apps/stage-web/src/components/Backgrounds/ChromaticWavePreview.vue new file mode 100644 index 000000000..b3ff39e7c --- /dev/null +++ b/apps/stage-web/src/components/Backgrounds/ChromaticWavePreview.vue @@ -0,0 +1,15 @@ + + + diff --git a/apps/stage-web/src/components/Backgrounds/CustomizedBackground.vue b/apps/stage-web/src/components/Backgrounds/CustomizedBackground.vue new file mode 100644 index 000000000..652e2b6d1 --- /dev/null +++ b/apps/stage-web/src/components/Backgrounds/CustomizedBackground.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/apps/stage-web/src/components/Layouts/MobileHeaderLink.vue b/apps/stage-web/src/components/Layouts/MobileHeaderLink.vue index 709275eeb..b2776f66c 100644 --- a/apps/stage-web/src/components/Layouts/MobileHeaderLink.vue +++ b/apps/stage-web/src/components/Layouts/MobileHeaderLink.vue @@ -1,11 +1,15 @@