diff src/chat.js @ 32:d34d709a7a8e

region
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 03 Aug 2025 18:43:17 -0600
parents 1e7d855afde3
children 0fb3488a017d
line wrap: on
line diff
--- a/src/chat.js	Sun Aug 03 17:05:38 2025 -0600
+++ b/src/chat.js	Sun Aug 03 18:43:17 2025 -0600
@@ -3,14 +3,18 @@
 let chat;
 
 function setChat(newChat) {
-	let audioChanged = chat && chat.voice != newChat.voice;
+	let audioChanged = chat && (chat.language_region != newChat.language_region || chat.voice != newChat.voice);
 	chat = newChat;
 	document.querySelector('[content] [name]').textContent = chat.name;
 	if(audioChanged) {
-		let s = `voice=${chat.voice}&`;
+		let lang = `lang=${chat.language_region}&`;
+		let voice = `voice=${chat.voice}&`;
 		let audios = document.querySelectorAll('audio[src]');
 		for( let audio of audios ) {
-			audio.src = audio.src.replace(/voice=[^&]+&/,s);
+			let src = audio.src;
+			src = src.replace(/lang=[^&]+&/,lang);
+			src = src.replace(/voice=[^&]+&/,voice);
+			audio.src = src;
 		}
 	}
 }
@@ -18,6 +22,7 @@
 function editChat(name) {
 	let dialog = document.querySelector('dialog[edit]');
 	dialog.querySelector('input[name=name]').value = chat.name;
+	dialog.querySelector('select[name=language_region]').value = chat.language_region;
 	dialog.querySelector('select[name=voice]').value = chat.voice;
 	dialog.showModal();
 }
@@ -51,7 +56,7 @@
 }
 
 function playLastMessage() {
-	let audios = document.querySelectorAll('audio');
+	let audios = document.querySelectorAll('[messages] audio');
 	if( audios.length >= 1 ) {
 		let audio = audios[audios.length-1];
 		audio.play();