Mercurial Hosting > lang
comparison src/lib/claude/Ai_chat.luan @ 79:d4473741142c
chat UI
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 02 Sep 2025 16:33:45 -0600 |
parents | 2be9ea450de3 |
children |
comparison
equal
deleted
inserted
replaced
78:2be9ea450de3 | 79:d4473741142c |
---|---|
40 for i, message in ipairs(messages) do | 40 for i, message in ipairs(messages) do |
41 if i <= n then | 41 if i <= n then |
42 continue | 42 continue |
43 end | 43 end |
44 local role = message.role or error() | 44 local role = message.role or error() |
45 local who | |
46 if role=="assistant" then | |
47 who = "Claude" | |
48 elseif role=="user" then | |
49 who = "You" | |
50 else | |
51 error(role) | |
52 end | |
53 local function output(text) | 45 local function output(text) |
54 text = html_encode(text) | 46 text = html_encode(text) |
47 if role=="user" then | |
55 %> | 48 %> |
56 <div role="<%=role%>" msg="<%=i%>"> | 49 <div role="user" msg="<%=i%>"> |
57 <h3><%=who%></h3> | 50 <div flex><div bubble> |
58 <div message markdown><%=text%></div> | 51 <div message markdown><%=text%></div> |
59 <% if role=="assistant" then %> | 52 </div></div> |
60 <%= assistant_controls %> | 53 </div> |
61 <% end %> | |
62 </div> | |
63 <% | 54 <% |
55 elseif role=="assistant" then | |
56 %> | |
57 <div role="assistant" msg="<%=i%>"> | |
58 <div flex><div bubble> | |
59 <div message markdown><%=text%></div> | |
60 <div trans=needed>Translating...</div> | |
61 </div></div> | |
62 <%= assistant_controls %> | |
63 </div> | |
64 <% | |
65 else error(role) end | |
64 end | 66 end |
65 local content = message.content or error() | 67 local content = message.content or error() |
66 if type(content) == "string" then | 68 if type(content) == "string" then |
67 output(content) | 69 output(content) |
68 else | 70 else |