Add Chat feature #1

Merged
june merged 9 commits from chat into main 2026-05-18 18:33:15 +02:00
Showing only changes of commit ff05a8c2ee - Show all commits

use details tag for chat

kritzl 2026-05-15 11:36:15 +02:00
Signed by: kritzl
SSH key fingerprint: SHA256:5BmINP9VjZWaUk5Z+2CTut1KFhwLtd0ZynMekKbtViM

View file

@ -23,30 +23,31 @@ const responses =
const templateInjectChat = ` const templateInjectChat = `
<div class="fab"> <details class="dropdown dropdown-top dropdown-end absolute right-4 bottom-4" id="chat-root">
<div tabindex="0" role="button" class="btn btn-lg btn-circle btn-primary"> <summary class="btn btn-lg btn-circle btn-primary">
<i data-lucide="stars"></i> <i data-lucide="stars"></i>
</div> </summary>
<div class="dropdown-content card min-h-120 max-h-200 w-80 bg-base-300 p-4 mb-4">
<div class="card min-h-120 max-h-200 w-80 bg-base-300 p-4"> <div class="w-full overflow-auto h-full prose leading-5" id="chat"></div>
<div class="w-full overflow-auto h-full" id="chat"></div> <div class="chat chat-start w-full hidden" id="chat-waiting">
<div class="chat chat-start w-full hidden" id="chat-waiting"> <div class="chat-bubble chat-bubble-primary whitespace-normal">
<div class="chat-bubble chat-bubble-primary whitespace-normal"> <span class="loading loading-dots loading-md"></span>
<span class="loading loading-dots loading-md"></span> </div>
</div> </div>
</div> <div class="mt-4"></div>
<div class="join mt-auto w-full"> <div class="join mt-auto w-full">
<div class="w-full"> <div class="w-full">
<label class="input join-item"> <label class="input join-item">
<input type="text" id="chat-text" /> <input type="text" id="chat-text" />
</label> </label>
</div>
<button class="btn btn-secondary join-item" id="send-chat">
<i data-lucide="send"></i>
</button>
</div> </div>
<button class="btn btn-secondary join-item" id="send-chat">
<i data-lucide="send"></i>
</button>
</div>
</div> </div>
</div>` </details>
`
type ChatMessage = { type ChatMessage = {
type: "bot" | "user", type: "bot" | "user",