diff --git a/apps/stage-tamagotchi/src/renderer/layouts/settings.vue b/apps/stage-tamagotchi/src/renderer/layouts/settings.vue index fb37aa222..6dbdff5db 100644 --- a/apps/stage-tamagotchi/src/renderer/layouts/settings.vue +++ b/apps/stage-tamagotchi/src/renderer/layouts/settings.vue @@ -111,7 +111,7 @@ const routeHeaderMetadataMap = computed(() => { } for (const metadata of allProvidersMetadata.value) { - map[`/settings/providers/${metadata.id}`] = { + map[`/settings/providers/${metadata.category}/${metadata.id}`] = { subtitle: t('settings.title'), title: t(metadata.nameKey), } diff --git a/apps/stage-web/src/layouts/settings.vue b/apps/stage-web/src/layouts/settings.vue index ca3f2b383..cf95455ef 100644 --- a/apps/stage-web/src/layouts/settings.vue +++ b/apps/stage-web/src/layouts/settings.vue @@ -101,7 +101,7 @@ const routeHeaderMetadataMap = computed(() => { } for (const metadata of allProvidersMetadata.value) { - map[`/settings/providers/${metadata.id}`] = { + map[`/settings/providers/${metadata.category}/${metadata.id}`] = { subtitle: t('settings.title'), title: t(metadata.nameKey), } @@ -138,7 +138,7 @@ onMounted(() => updateThemeColor()) -
+
-import type { RemovableRef } from '@vueuse/core' - -import { - Alert, - ProviderAdvancedSettings, - ProviderApiKeyInput, - ProviderBaseUrlInput, - ProviderBasicSettings, - ProviderSettingsContainer, - ProviderSettingsLayout, -} from '@proj-airi/stage-ui/components' -import { useProviderValidation } from '@proj-airi/stage-ui/composables/use-provider-validation' -import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers' -import { storeToRefs } from 'pinia' -import { computed } from 'vue' - -const providerId = 'anthropic' -const providersStore = useProvidersStore() -const { providers } = storeToRefs(providersStore) as { providers: RemovableRef> } - -// Define computed properties for credentials -const apiKey = computed({ - get: () => providers.value[providerId]?.apiKey || '', - set: (value) => { - if (!providers.value[providerId]) - providers.value[providerId] = {} - providers.value[providerId].apiKey = value - }, -}) - -const baseUrl = computed({ - get: () => providers.value[providerId]?.baseUrl || '', - set: (value) => { - if (!providers.value[providerId]) - providers.value[providerId] = {} - providers.value[providerId].baseUrl = value - }, -}) - -// Use the composable to get validation logic and state -const { - t, - router, - providerMetadata, - isValidating, - isValid, - validationMessage, - handleResetSettings, -} = useProviderValidation(providerId) - - - - - -meta: - layout: settings - stageTransition: - name: slide - diff --git a/packages/stage-pages/src/pages/settings/providers/302-ai.vue b/packages/stage-pages/src/pages/settings/providers/chat/[providerId].vue similarity index 93% rename from packages/stage-pages/src/pages/settings/providers/302-ai.vue rename to packages/stage-pages/src/pages/settings/providers/chat/[providerId].vue index 47206f4b8..58e900541 100644 --- a/packages/stage-pages/src/pages/settings/providers/302-ai.vue +++ b/packages/stage-pages/src/pages/settings/providers/chat/[providerId].vue @@ -14,8 +14,10 @@ import { useProviderValidation } from '@proj-airi/stage-ui/composables/use-provi import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers' import { storeToRefs } from 'pinia' import { computed } from 'vue' +import { useRoute } from 'vue-router' -const providerId = '302-ai' +const route = useRoute() +const providerId = route.params.providerId as string const providersStore = useProvidersStore() const { providers } = storeToRefs(providersStore) as { providers: RemovableRef> } @@ -72,7 +74,7 @@ const { diff --git a/packages/stage-pages/src/pages/settings/providers/azure-ai-foundry.vue b/packages/stage-pages/src/pages/settings/providers/chat/azure-ai-foundry.vue similarity index 100% rename from packages/stage-pages/src/pages/settings/providers/azure-ai-foundry.vue rename to packages/stage-pages/src/pages/settings/providers/chat/azure-ai-foundry.vue diff --git a/packages/stage-pages/src/pages/settings/providers/cloudflare-workers-ai.vue b/packages/stage-pages/src/pages/settings/providers/chat/cloudflare-workers-ai.vue similarity index 98% rename from packages/stage-pages/src/pages/settings/providers/cloudflare-workers-ai.vue rename to packages/stage-pages/src/pages/settings/providers/chat/cloudflare-workers-ai.vue index 3e67b4234..26be5f2c7 100644 --- a/packages/stage-pages/src/pages/settings/providers/cloudflare-workers-ai.vue +++ b/packages/stage-pages/src/pages/settings/providers/chat/cloudflare-workers-ai.vue @@ -52,6 +52,7 @@ const {