mirror of
https://github.com/perstarkse/minne.git
synced 2026-04-18 06:59:43 +02:00
wip: sse implementation chat
This commit is contained in:
25
templates/chat/streaming_response.html
Normal file
25
templates/chat/streaming_response.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<div class="chat chat-end">
|
||||
<div class="chat-header">User</div>
|
||||
<div class="chat-bubble">
|
||||
{{user_message}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="chat chat-start">
|
||||
<div class="chat-header">AI</div>
|
||||
<div class="chat-bubble" hx-ext="sse" sse-connect="/chat/response-stream?query_id={{query_id}}"
|
||||
sse-swap="chat_message" sse-close="close_stream" hx-swap="beforeend">
|
||||
<span class="loading loading-dots loading-sm loading-id-{{query_id}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
document.body.addEventListener('htmx:sseBeforeMessage', (e) => {
|
||||
const targetElement = e.detail.elt;
|
||||
const loadingSpinner = targetElement.querySelector('.loading-id-{{query_id}}');
|
||||
|
||||
// Hiding the loading spinner before data is swapped in
|
||||
if (loadingSpinner) {
|
||||
loadingSpinner.style.display = 'none';
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
Reference in New Issue
Block a user