fix(stage-pages): restore speech none option (#1969)

This commit is contained in:
Doji
2026-06-14 11:34:07 +00:00
committed by GitHub
parent 16d50433b9
commit 3a41215785
2 changed files with 12 additions and 3 deletions
@@ -35,7 +35,7 @@ const providersStore = useProvidersStore()
const speechStore = useSpeechStore()
const airiCardStore = useAiriCardStore()
const voicePacksStore = useVoicePacksStore()
const { configuredSpeechProvidersMetadata } = storeToRefs(providersStore)
const { allAudioSpeechProvidersMetadata, configuredSpeechProvidersMetadata } = storeToRefs(providersStore)
const { activeCard } = storeToRefs(airiCardStore)
const { packs: voicePacks, loading: isLoadingVoicePacks, error: voicePacksError } = storeToRefs(voicePacksStore)
const {
@@ -72,6 +72,13 @@ const shouldShowVoicePackSection = computed(() =>
&& (isLoadingVoicePacks.value || voicePacksError.value != null || voicePacks.value.length > 0),
)
const selectableSpeechProvidersMetadata = computed(() => {
return [
...configuredSpeechProvidersMetadata.value.filter(metadata => metadata.id !== 'speech-noop'),
...allAudioSpeechProvidersMetadata.value.filter(metadata => metadata.id === 'speech-noop'),
]
})
function createVoicePackVoice(voicePack: VoicePackSnapshot): VoiceInfo {
return {
id: voicePack.voiceId,
@@ -386,11 +393,11 @@ function handleDeleteProvider(providerId: string) {
</div>
<div max-w-full>
<fieldset
v-if="configuredSpeechProvidersMetadata.length > 0" flex="~ row gap-4"
v-if="selectableSpeechProvidersMetadata.length > 0" flex="~ row gap-4"
min-w-0 of-x-auto scroll-smooth role="radiogroup"
>
<RadioCardSimple
v-for="metadata in configuredSpeechProvidersMetadata"
v-for="metadata in selectableSpeechProvidersMetadata"
:id="metadata.id"
:key="metadata.id"
v-model="activeSpeechProvider"
@@ -165,6 +165,8 @@ const providerBlocks = computed(() => {
.map((block) => {
const filteredProviders = block.providersRef.value
.filter((p) => {
if (p.id === 'speech-noop')
return false
if (filterPricing.value !== 'all' && p.pricing !== filterPricing.value)
return false
if (filterDeployment.value !== 'all' && p.deployment !== filterDeployment.value)