comparison src/chat.html.luan @ 46:cc20eebaa74a

use openai tts
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 14 Aug 2025 11:27:34 +0900
parents 1d9d9786d76f
children 97b0d206cacd
comparison
equal deleted inserted replaced
45:fef7a5c65cfb 46:cc20eebaa74a
14 local voices = Shared.voices or error() 14 local voices = Shared.voices or error()
15 local User = require "site:/lib/User.luan" 15 local User = require "site:/lib/User.luan"
16 local current_user = User.current or error() 16 local current_user = User.current or error()
17 local Chat = require "site:/lib/Chat.luan" 17 local Chat = require "site:/lib/Chat.luan"
18 local get_chat_by_id = Chat.get_by_id or error() 18 local get_chat_by_id = Chat.get_by_id or error()
19 local languages = require "site:/lib/languages.luan" 19 local Utils = require "site:/lib/Utils.luan"
20 local capitalize = Utils.capitalize or error()
20 21
21 22
22 return function() 23 return function()
23 local chat_id = Http.request.parameters.chat or error() 24 local chat_id = Http.request.parameters.chat or error()
24 local chat = get_chat_by_id(chat_id) or error() 25 local chat = get_chat_by_id(chat_id) or error()
77 <input type=text name=name required><br> 78 <input type=text name=name required><br>
78 <span error></span> 79 <span error></span>
79 </p> 80 </p>
80 <p><%= chat.language_name() %></p> 81 <p><%= chat.language_name() %></p>
81 <p> 82 <p>
82 <label>Region</label><br>
83 <select name=language_region>
84 <% for _, region in ipairs(languages[chat.language].regions) do %>
85 <option value="<%=region.code%>"><%=region.name%></option>
86 <% end %>
87 <select>
88 </p>
89 <p>
90 <label>Voice</label><br> 83 <label>Voice</label><br>
91 <select name=voice> 84 <select name=voice>
92 <% for _, voice in ipairs(voices) do %> 85 <% for _, voice in ipairs(voices) do %>
93 <option value="<%=voice.code%>"><%=voice.name%></option> 86 <option value="<%=voice%>"><%=capitalize(voice)%></option>
94 <% end %> 87 <% end %>
95 <select> 88 <select>
96 </p> 89 </p>
97 <p> 90 <p>
98 <label clickable><input type=checkbox name=autoplay>Autoplay</label> 91 <label clickable><input type=checkbox name=autoplay>Autoplay</label>