Mercurial Hosting > lang
diff src/chat.js @ 29:505185272dd7
edit chat
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 02 Aug 2025 22:39:48 -0600 |
parents | 99b71a377f2c |
children | 1e7d855afde3 |
line wrap: on
line diff
--- a/src/chat.js Sat Aug 02 20:04:35 2025 -0600 +++ b/src/chat.js Sat Aug 02 22:39:48 2025 -0600 @@ -1,20 +1,21 @@ 'use strict'; -function openRenameChat(name) { - let dialog = document.querySelector('dialog[rename]'); - dialog.querySelector('input[name=name]').value = name; +let chat; + +function setChat(newChat) { + chat = newChat; + document.querySelector('[content] [name]').textContent = chat.name; +} + +function editChat(name) { + let dialog = document.querySelector('dialog[edit]'); + dialog.querySelector('input[name=name]').value = chat.name; dialog.showModal(); } -function renameChat() { - ajax(`rename_chat.js?chat=${chatId}`); -} - -function saveRenameChat() { - let dialog = document.querySelector('dialog[rename]'); - let name = dialog.querySelector('input[name=name]').value; - ajax(`save_rename_chat.js?chat=${chatId}&name=${encodeURIComponent(name)}`); - dialog.close(); +function saveChat(form) { + closeModal(form); + ajaxForm('save_chat.js',form); } function deleteChat() { @@ -24,7 +25,7 @@ function doDeleteChat(el) { closeModal(el); - ajax(`delete_chat.js?chat=${chatId}`); + ajax(`delete_chat.js?chat=${chat.id}`); } function systemPrompt() { @@ -48,6 +49,10 @@ } } +function handleChatMarkdown() { + handleMarkdown(chat.language_region); +} + function scrollToEnd() { window.scrollTo(0, document.body.scrollHeight); } @@ -55,7 +60,7 @@ function updateAi(html) { hideWaitingAiIcon(); document.querySelector('div[messages]').insertAdjacentHTML('beforeend',html); - handleMarkdown(); + handleChatMarkdown(); document.querySelector('textarea').focus(); scrollToEnd(); playLastMessage(); @@ -78,12 +83,12 @@ textarea.parentNode.scrollIntoViewIfNeeded(false); if( !audio ) audio = document.querySelector('div[buttons] audio'); - audio.src = `/tts.mp3?lang=${lang}&text=${encodeURIComponent(textarea.value)}`; + audio.src = `/tts.mp3?lang=${chat.language_region}&text=${encodeURIComponent(textarea.value)}`; } function askAi() { let input = document.querySelector('textarea'); - let url = `ai_ask.js?chat=${chatId}&input=${encodeURIComponent(input.value)}`; + let url = `ai_ask.js?chat=${chat.id}&input=${encodeURIComponent(input.value)}`; ajax(url); input.value = ''; fixTextarea(input);