diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/index.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/index.vue
index 4de326d54..cc7a23d0d 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/index.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/index.vue
@@ -4,7 +4,9 @@ import { useSettings } from '@proj-airi/stage-ui/stores'
import { useDark } from '@vueuse/core'
import { storeToRefs } from 'pinia'
import { useI18n } from 'vue-i18n'
+import { useRouter } from 'vue-router'
+const router = useRouter()
const { t } = useI18n()
const { language, disableTransitions } = storeToRefs(useSettings())
const dark = useDark()
@@ -12,19 +14,12 @@ const dark = useDark()
function handleLanguageChange(event: Event) {
const target = event.target as HTMLSelectElement
language.value = target.value
- // Send IPC message to main process for locale change
- window.electron?.ipcRenderer.send('locale-changed', target.value)
-}
-
-// Handle window close
-function handleClose() {
- window.electron?.ipcRenderer.send('close-settings')
}
-
-
+
+
+meta:
+ stageTransition:
+ name: slide
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/models/index.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/models/index.vue
new file mode 100644
index 000000000..0a9ef35cc
--- /dev/null
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/models/index.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+ Settings
+
+
+ Models
+
+
+
+
+
+
+
+
+
+
+
+
+meta:
+ stageTransition:
+ name: slide
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/consciousness.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/consciousness.vue
index a01bfb8a4..bb8bf66c9 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/consciousness.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/consciousness.vue
@@ -205,7 +205,13 @@ function updateCustomModelName(value: string) {
-
-
+
+
+
+meta:
+ stageTransition:
+ name: slide
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/index.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/index.vue
index 1117e18ed..3ad92337b 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/index.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/index.vue
@@ -120,7 +120,13 @@ const modulesList = computed
(() => [
:configured="module.configured"
/>
-
-
+
+
+
+meta:
+ stageTransition:
+ name: slide
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/speech.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/speech.vue
index f53e9b6d7..2de271768 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/speech.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/modules/speech.vue
@@ -249,7 +249,7 @@ function updateSSMLExample() {
-
-
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/elevenlabs.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/elevenlabs.vue
index df7d64dd4..46c78fb95 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/elevenlabs.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/elevenlabs.vue
@@ -530,7 +530,7 @@ function handleResetVoiceSettings() {
-
-
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/index.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/index.vue
index ba23f16ef..3b4723b46 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/index.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/index.vue
@@ -32,11 +32,17 @@ const { allProvidersMetadata } = storeToRefs(providersStore)
:icon="provider.icon"
:icon-color="provider.iconColor"
:icon-image="provider.iconImage"
- :to="`/settings/providers/${provider.id.replace('-ai', '')}`"
+ :to="`/settings/providers/${provider.id}`"
:configured="provider.configured"
/>
-
-
+
+
+
+meta:
+ stageTransition:
+ name: slide
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openai.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openai.vue
index 6053d8c2a..3552ad4ae 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openai.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openai.vue
@@ -118,7 +118,7 @@ watch([apiKey, baseUrl], () => {
-
-
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openrouter.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openrouter.vue
index 0d6b6c2cd..9326058b7 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openrouter.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/providers/openrouter.vue
@@ -122,7 +122,7 @@ watch([apiKey, baseUrl], () => {
-
-
+
diff --git a/apps/stage-tamagotchi/src/renderer/src/pages/settings/themes/index.vue b/apps/stage-tamagotchi/src/renderer/src/pages/settings/themes/index.vue
index b7efb68c9..3cfa89796 100644
--- a/apps/stage-tamagotchi/src/renderer/src/pages/settings/themes/index.vue
+++ b/apps/stage-tamagotchi/src/renderer/src/pages/settings/themes/index.vue
@@ -1,15 +1,137 @@
@@ -26,152 +148,228 @@ function resetToDefault() {
-
-
-
-
-
-
- Colors
+
+
-
-
-
-
-
-
+
+
+
+
-
-
- 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
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ preset.name }}
+
+
+ {{ preset.description }}
+
+
+
+
+
+
+
+
+
+
+ {{ color.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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 30735730c..cc7a23d0d 100644
--- a/apps/stage-web/src/pages/settings/index.vue
+++ b/apps/stage-web/src/pages/settings/index.vue
@@ -140,8 +140,8 @@ function handleLanguageChange(event: Event) {
-
diff --git a/apps/stage-web/src/pages/settings/models/index.vue b/apps/stage-web/src/pages/settings/models/index.vue
index 607bf733a..0a9ef35cc 100644
--- a/apps/stage-web/src/pages/settings/models/index.vue
+++ b/apps/stage-web/src/pages/settings/models/index.vue
@@ -26,8 +26,8 @@ const router = useRouter()
-
-
+
diff --git a/apps/stage-web/src/pages/settings/modules/consciousness.vue b/apps/stage-web/src/pages/settings/modules/consciousness.vue
index bf6a30b02..bb8bf66c9 100644
--- a/apps/stage-web/src/pages/settings/modules/consciousness.vue
+++ b/apps/stage-web/src/pages/settings/modules/consciousness.vue
@@ -205,8 +205,8 @@ function updateCustomModelName(value: string) {
-
-
+
diff --git a/apps/stage-web/src/pages/settings/modules/index.vue b/apps/stage-web/src/pages/settings/modules/index.vue
index 13b8480e4..3ad92337b 100644
--- a/apps/stage-web/src/pages/settings/modules/index.vue
+++ b/apps/stage-web/src/pages/settings/modules/index.vue
@@ -120,8 +120,8 @@ const modulesList = computed
(() => [
:configured="module.configured"
/>
-
-
+
diff --git a/apps/stage-web/src/pages/settings/modules/speech.vue b/apps/stage-web/src/pages/settings/modules/speech.vue
index f53e9b6d7..2de271768 100644
--- a/apps/stage-web/src/pages/settings/modules/speech.vue
+++ b/apps/stage-web/src/pages/settings/modules/speech.vue
@@ -249,7 +249,7 @@ function updateSSMLExample() {
-
-
+
diff --git a/apps/stage-web/src/pages/settings/providers/elevenlabs.vue b/apps/stage-web/src/pages/settings/providers/elevenlabs.vue
index df7d64dd4..46c78fb95 100644
--- a/apps/stage-web/src/pages/settings/providers/elevenlabs.vue
+++ b/apps/stage-web/src/pages/settings/providers/elevenlabs.vue
@@ -530,7 +530,7 @@ function handleResetVoiceSettings() {
-
-
+
diff --git a/apps/stage-web/src/pages/settings/providers/index.vue b/apps/stage-web/src/pages/settings/providers/index.vue
index 13d8652c8..3b4723b46 100644
--- a/apps/stage-web/src/pages/settings/providers/index.vue
+++ b/apps/stage-web/src/pages/settings/providers/index.vue
@@ -36,8 +36,8 @@ const { allProvidersMetadata } = storeToRefs(providersStore)
:configured="provider.configured"
/>
-
-
+
diff --git a/apps/stage-web/src/pages/settings/providers/openai.vue b/apps/stage-web/src/pages/settings/providers/openai.vue
index 6053d8c2a..3552ad4ae 100644
--- a/apps/stage-web/src/pages/settings/providers/openai.vue
+++ b/apps/stage-web/src/pages/settings/providers/openai.vue
@@ -118,7 +118,7 @@ watch([apiKey, baseUrl], () => {
-
-
+
diff --git a/apps/stage-web/src/pages/settings/providers/openrouter.vue b/apps/stage-web/src/pages/settings/providers/openrouter.vue
index 0d6b6c2cd..9326058b7 100644
--- a/apps/stage-web/src/pages/settings/providers/openrouter.vue
+++ b/apps/stage-web/src/pages/settings/providers/openrouter.vue
@@ -122,7 +122,7 @@ watch([apiKey, baseUrl], () => {
-
-
+
diff --git a/apps/stage-web/src/pages/settings/themes/index.vue b/apps/stage-web/src/pages/settings/themes/index.vue
index 7d7eb8a06..3cfa89796 100644
--- a/apps/stage-web/src/pages/settings/themes/index.vue
+++ b/apps/stage-web/src/pages/settings/themes/index.vue
@@ -358,8 +358,8 @@ function isColorSelected(hexColor: string): boolean {
-