Moved message model selection to botton
This commit is contained in:
parent
dd5170e039
commit
b30bc71da4
BIN
static/icons/anthropic-outline.png
Normal file
BIN
static/icons/anthropic-outline.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 129 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
BIN
static/icons/openai-outline.png
Normal file
BIN
static/icons/openai-outline.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 170 KiB |
@ -1,35 +1,20 @@
|
|||||||
<div class="message-bot mt-3">
|
<div class="message-bot mt-3">
|
||||||
<div class="columns is-mobile">
|
<div class="columns is-mobile">
|
||||||
<div class="column is-narrow" id="icon-column">
|
<div class="column is-narrow" id="icon-column">
|
||||||
<div class='rows'>
|
{% for message in Messages %}
|
||||||
{% for message in Messages %}
|
{% if not message.Hidden %}
|
||||||
<div class='row is-full mt-1'>
|
<figure class="image is-48x48" style="flex-shrink: 0;">
|
||||||
<a {% if not NotClickable %} href="#" hx-get="/messageContent?id={{ message.Id }}"
|
<img id="selectedIcon-{{ ConversationAreaId }}" src="icons/{{ message.Icon }}.png" alt="User Image">
|
||||||
class="is-clickable" onclick="toggleGrayscale(this)"
|
</figure>
|
||||||
hx-target="#content-{{ ConversationAreaId }}" {% endif %}>
|
{% endif %}
|
||||||
<figure class="image is-48x48" style="flex-shrink: 0;">
|
{% endfor %}
|
||||||
<img src="icons/{{ message.Icon }}.png" alt="User Image" {% if message.Hidden %}
|
|
||||||
style="filter: grayscale(100%);" {% endif %} title="{{ message.Name }}">
|
|
||||||
</figure>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% if IsPlaceholder %}
|
|
||||||
<div class='row is-full mt-1'>
|
|
||||||
<figure class="image is-48x48" style="flex-shrink: 0;">
|
|
||||||
<img src="icons/bouvai2.png" alt="User Image">
|
|
||||||
</figure>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="column" id="content-column">
|
<div class="column" id="content-column">
|
||||||
<div class="is-flex">
|
<div class="is-flex is-align-items-start">
|
||||||
{% for message in Messages %}
|
|
||||||
{% if not message.Hidden %}
|
|
||||||
<!-- Name of the model as title -->
|
|
||||||
<div class="message-content" id="content-{{ ConversationAreaId }}">
|
<div class="message-content" id="content-{{ ConversationAreaId }}">
|
||||||
|
{% for message in Messages %}
|
||||||
|
{% if not message.Hidden %}
|
||||||
<div class="message-header">
|
<div class="message-header">
|
||||||
<p>
|
<p>
|
||||||
{{ message.Name }}
|
{{ message.Name }}
|
||||||
@ -40,42 +25,52 @@
|
|||||||
{{ message.Content | safe }}
|
{{ message.Content | safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
</div>
|
||||||
|
<div class="is-flex is-justify-content mt-2">
|
||||||
|
<button class="button is-small is-primary message-button is-outlined mr-1">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fa-solid fa-copy"></i>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button class="button is-small is-primary message-button is-outlined mr-5">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fa-solid fa-copy"></i>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
{% if not NotClickable %}
|
||||||
|
{% for message in Messages %}
|
||||||
|
<button class="button is-small is-primary message-button is-outlined mr-1"
|
||||||
|
hx-get="/messageContent?id={{ message.Id }}" hx-target="#content-{{ ConversationAreaId }}"
|
||||||
|
onclick="updateIcon('{{ message.Icon }}', '{{ ConversationAreaId }}')">
|
||||||
|
<span class="icon is-small">
|
||||||
|
<img src="icons/{{ message.Icon }}.png" alt="{{ message.Name }}"
|
||||||
|
style="max-height: 100%; max-width: 100%;">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if IsPlaceholder %}
|
|
||||||
<hx hx-get="/generateMultipleMessages" hx-trigger="load" hx-swap="outerHTML" hx-indicator="#spinner"
|
|
||||||
hx-target="#chat-container">
|
|
||||||
</hx>
|
|
||||||
|
|
||||||
<div class="message-content" {% if message.Hidden %}style="display: none;" {% endif %}>
|
|
||||||
<div class="message-body">
|
|
||||||
<div class="content">
|
|
||||||
<img id="spinner" class="htmx-indicator" src="/puff.svg" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<style>
|
||||||
function toggleGrayscale(link) {
|
.message-button {
|
||||||
var imgElement = link.querySelector('img');
|
opacity: 0;
|
||||||
var allImages = link.closest('.rows').querySelectorAll('img');
|
transition: opacity 0.3s ease;
|
||||||
var rowElement = link.closest('.row');
|
}
|
||||||
|
|
||||||
if (imgElement.style.filter === 'grayscale(100%)') {
|
.message-bot:hover .message-button {
|
||||||
imgElement.style.filter = 'none';
|
opacity: 1;
|
||||||
allImages.forEach(function (img) {
|
}
|
||||||
if (img !== imgElement) {
|
</style>
|
||||||
img.style.filter = 'grayscale(100%)';
|
|
||||||
}
|
<script>
|
||||||
});
|
function updateIcon(icon, ConversationAreaId) {
|
||||||
rowElement.parentNode.insertBefore(rowElement, rowElement.parentNode.firstChild);
|
var selectedIcon = document.getElementById('selectedIcon-' + ConversationAreaId);
|
||||||
}
|
selectedIcon.src = 'icons/' + icon + '.png';
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
@ -7,7 +7,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="column" id="content-column">
|
<div class="column" id="content-column">
|
||||||
<div class="is-flex is-align-items-start" style="position: relative; padding-right: 30px;">
|
<div class="is-flex is-align-items-start">
|
||||||
<div class="message-content">
|
<div class="message-content">
|
||||||
<div class="message-header">
|
<div class="message-header">
|
||||||
<p>
|
<p>
|
||||||
@ -22,18 +22,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-flex is-justify-content mt-2">
|
<div class="is-flex is-justify-content mt-2">
|
||||||
<button id="redo-button-{{ ID }}" class="button is-small is-primary delete-button is-outlined mr-2">
|
<button id="redo-button-{{ ID }}" class="button is-small is-primary message-button is-outlined mr-2">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fa-solid fa-arrows-rotate"></i>
|
<i class="fa-solid fa-arrows-rotate"></i>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button id="edit-button-{{ ID }}" class="button is-small is-primary delete-button is-outlined mr-2">
|
<button id="edit-button-{{ ID }}" class="button is-small is-primary message-button is-outlined mr-2">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fa-solid fa-pen"></i>
|
<i class="fa-solid fa-pen"></i>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button id="delete-button-{{ ID }}" hx-post="/deleteMessage?id={{ ID }}" hx-swap="outerHTML"
|
<button id="delete-button-{{ ID }}" hx-post="/deleteMessage?id={{ ID }}" hx-swap="outerHTML"
|
||||||
hx-target="#chat-container" class="button is-small is-danger delete-button is-outlined mr-2">
|
hx-target="#chat-container" class="button is-small is-danger message-button is-outlined mr-2">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fa-solid fa-trash"></i>
|
<i class="fa-solid fa-trash"></i>
|
||||||
</span>
|
</span>
|
||||||
@ -44,12 +44,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.delete-button {
|
.message-button {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: opacity 0.3s ease;
|
transition: opacity 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-user:hover .delete-button {
|
.message-user:hover .message-button {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
Loading…
x
Reference in New Issue
Block a user