// All comments are in English. let conversationId = null; let conversations = []; async function login() { window.location = "/login"; } function toggleTheme() { document.body.classList.toggle("dark"); } async function loadConversations() { const r = await fetch("/api/conversations"); conversations = await r.json(); renderTabs(); } function renderTabs() { const tabs = document.getElementById("tabs"); tabs.innerHTML = ""; conversations.forEach(c => { const btn = document.createElement("button"); btn.textContent = c.title; btn.onclick = () => selectConversation(c.id); tabs.appendChild(btn); }); } async function newConversation() { const title = prompt("Conversation title:"); const r = await fetch("/api/new_conversation", { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({title}) }); const data = await r.json(); conversationId = data.conversation_id; await loadConversations(); await loadHistory(); } async function selectConversation(id) { conversationId = id; await loadHistory(); } async function loadHistory() { const r = await fetch(`/api/history/${conversationId}`); const msgs = await r.json(); const chat = document.getElementById("chat"); chat.innerHTML = ""; msgs.forEach(m => { const div = document.createElement("div"); div.className = "msg " + m.role; div.innerHTML = `