diff src/chat.html.luan @ 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.html.luan	Sat Aug 02 20:04:35 2025 -0600
+++ b/src/chat.html.luan	Sat Aug 02 22:39:48 2025 -0600
@@ -1,5 +1,7 @@
 local Luan = require "luan:Luan.luan"
 local error = Luan.error
+local Parsers = require "luan:Parsers.luan"
+local json_string = Parsers.json_string or error()
 local Io = require "luan:Io.luan"
 local Http = require "luan:http/Http.luan"
 local Shared = require "site:/lib/Shared.luan"
@@ -27,21 +29,17 @@
 		<style>
 			@import "/chat.css?s=<%=started%>";
 		</style>
-		<script>
-			let chatId = <%= chat.id %>;
-			let lang = '<%= chat.language_region %>';
-		</script>
 		<script src="/chat.js?s=<%=started%>"></script>
 	</head>
 	<body>
 <%		header() %>
 		<div content ai_container>
 			<div top>
-				<h3 name><%= chat.name_html() %></h3>
+				<h3 name></h3>
 				<span pulldown>
 					<img onclick="clickMenu(this)" src="/images/menu.svg">
 					<div>
-						<span onclick="renameChat()">Rename Chat</span>
+						<span onclick="editChat()">Edit Chat</span>
 						<span onclick="deleteChat()">Delete Chat</span>
 						<span onclick="systemPrompt()">System Prompt</span>
 					</div>
@@ -60,9 +58,10 @@
 			</div>
 		</div>
 		<img waiting-ai-icon src="/images/spinner_green.gif">
-		<dialog rename>
-			<h2>Rename Chat</h2>
-			<form action="javascript:saveRenameChat()">
+		<dialog edit>
+			<h2>Edit Chat</h2>
+			<form onsubmit="saveChat(this)" action="javascript:">
+				<input type=hidden name=chat value="<%=chat.id%>">
 				<p>
 					<label>Chat name</label><br> 
 					<input name=name required><br>
@@ -70,7 +69,7 @@
 				</p>
 				<div buttons>
 					<button type=button onclick="closeModal(this)">Cancel</button>
-					<button type=submit>Rename</button>
+					<button type=submit>Save</button>
 				</div>
 			</form>
 		</dialog>
@@ -94,7 +93,8 @@
 		</dialog>
 		<input name=initialized style="display:none">
 		<script>
-			handleMarkdown();
+			setChat(<%= json_string(chat.info()) %>);
+			handleChatMarkdown();
 			setTimeout(function(){
 				let initialized = document.querySelector('[name=initialized]');
 				if( !initialized.value ) {