Mercurial Hosting > lang
comparison src/chat.js @ 42:1d9d9786d76f
textareas
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 11 Aug 2025 08:27:22 +0900 |
parents | 2a4c83ce3deb |
children | cc20eebaa74a |
comparison
equal
deleted
inserted
replaced
41:2a4c83ce3deb | 42:1d9d9786d76f |
---|---|
93 } | 93 } |
94 } | 94 } |
95 | 95 |
96 let audio; | 96 let audio; |
97 | 97 |
98 function fixTextarea(textarea) { | 98 function fixChatTextarea(textarea) { |
99 textarea.style.height = 'initial'; | 99 fixTextarea(textarea); |
100 textarea.style.height = (textarea.scrollHeight+2) + 'px'; | |
101 textarea.parentNode.scrollIntoViewIfNeeded(false); | 100 textarea.parentNode.scrollIntoViewIfNeeded(false); |
102 if( !audio ) | 101 if( !audio ) |
103 audio = document.querySelector('div[buttons] audio'); | 102 audio = document.querySelector('div[buttons] audio'); |
104 audio.src = `/tts.mp3?lang=${chat.language_region}&voice=${chat.voice}&text=${encodeURIComponent(textarea.value)}`; | 103 audio.src = `/tts.mp3?lang=${chat.language_region}&voice=${chat.voice}&text=${encodeURIComponent(textarea.value)}`; |
105 } | 104 } |
107 function askAi() { | 106 function askAi() { |
108 let input = document.querySelector('textarea'); | 107 let input = document.querySelector('textarea'); |
109 let url = `ai_ask.js?chat=${chat.id}&input=${encodeURIComponent(input.value)}`; | 108 let url = `ai_ask.js?chat=${chat.id}&input=${encodeURIComponent(input.value)}`; |
110 ajax(url); | 109 ajax(url); |
111 input.value = ''; | 110 input.value = ''; |
112 fixTextarea(input); | 111 fixChatTextarea(input); |
113 showWaitingAiIcon(); | 112 showWaitingAiIcon(); |
114 } | 113 } |
115 | 114 |
116 | 115 |
117 function setText(text) { | 116 function setText(text) { |
118 let textarea = document.querySelector('textarea'); | 117 let textarea = document.querySelector('textarea'); |
119 textarea.value = text; | 118 textarea.value = text; |
120 fixTextarea(textarea); | 119 fixChatTextarea(textarea); |
121 } | 120 } |
122 | 121 |
123 let recorder = null; | 122 let recorder = null; |
124 let chunks; | 123 let chunks; |
125 | 124 |