Skip to content

Commit d9c30a2

Browse files
committed
fix: preserve greeting_text in IVR flow for easier TTS editing
The TTS text was being cleared after save, forcing users to retype the entire greeting to make edits. Now greeting_text is preserved alongside the generated audio file so switching back to the text tab shows the original text ready for editing.
1 parent bf32eaf commit d9c30a2

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

frontend/src/components/calling/IVRMenuEditor.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ const menu = computed({
4343
})
4444
4545
// Greeting mode: 'audio' for uploaded files, 'text' for TTS
46+
// If greeting_text exists (even alongside a generated audio file), default to text tab
4647
const greetingTab = computed(() =>
47-
menu.value.greeting_text ? 'text' : 'audio'
48+
menu.value.greeting_text !== undefined && menu.value.greeting_text !== '' ? 'text' : 'audio'
4849
)
4950
5051
const optionEntries = computed(() => {
@@ -85,17 +86,17 @@ const actionOptions = [
8586
8687
function onGreetingTabChange(tab: string | number) {
8788
if (tab === 'text') {
88-
// Switching to text mode: clear uploaded audio
89+
// Switching to text mode: clear uploaded audio but keep any existing greeting_text
8990
stopAudio()
9091
emit('update:modelValue', { ...menu.value, greeting: '', greeting_text: menu.value.greeting_text || '' })
9192
} else {
92-
// Switching to audio mode: clear greeting text
93-
emit('update:modelValue', { ...menu.value, greeting_text: undefined })
93+
// Switching to audio mode: keep greeting_text so user can switch back and edit
94+
stopAudio()
9495
}
9596
}
9697
9798
function updateGreetingText(text: string) {
98-
emit('update:modelValue', { ...menu.value, greeting_text: text, greeting: '' })
99+
emit('update:modelValue', { ...menu.value, greeting_text: text })
99100
}
100101
101102
function triggerFileUpload() {

0 commit comments

Comments
 (0)