106 lines
4.6 KiB
HTML
106 lines
4.6 KiB
HTML
<div class="message-bot mt-3">
|
|
<div class="columns is-mobile">
|
|
<div class="column is-narrow" id="icon-column">
|
|
<!-- Left column with the icon -->
|
|
{% if IsPlaceholder %}
|
|
|
|
<figure class="image is-48x48" style="flex-shrink: 0;" sse-swap="swapIcon-{{ ConversationAreaId }}">
|
|
<img src="icons/bouvai2.png" alt="User Image" id="selectedIcon-{{ ConversationAreaId }}">
|
|
</figure>
|
|
|
|
{% else %}
|
|
|
|
{% for message in Messages %}
|
|
{% if not message.Hidden %}
|
|
<figure class="image is-48x48" style="flex-shrink: 0;">
|
|
<img src="{{ message.Icon }}" alt="User Image" id="selectedIcon-{{ ConversationAreaId }}">
|
|
</figure>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="column" id="content-column">
|
|
{% if not IsPlaceholder %}
|
|
<div class="{% if not notFlex%} is-flex {% endif %} is-align-items-start">
|
|
<div class="message-content" id="content-{{ ConversationAreaId }}">
|
|
{% for message in Messages %}
|
|
{% if not message.Hidden %}
|
|
<div class="message-header">
|
|
<p>
|
|
<strong>{{ message.Name }}</strong> <small>{{ message.ModelID }}</small>
|
|
</p>
|
|
</div>
|
|
<div class="message-body">
|
|
<div class="content" style="overflow-x: auto;">
|
|
{{ message.Content | safe }}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
<div class="is-flex is-justify-content mt-2">
|
|
{% if not NotClickable %}
|
|
<button class="button is-small is-primary message-button is-outlined mr-5"
|
|
onclick="copyToClipboard(this)">
|
|
<span class="icon">
|
|
<i class="fa-solid fa-copy"></i>
|
|
</span>
|
|
</button>
|
|
|
|
{% 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 }}')" title="{{ message.Name }}">
|
|
<span class="icon is-small">
|
|
<img src="{{ message.Icon }}" alt="{{ message.Name }}"
|
|
style="max-height: 100%; max-width: 100%;">
|
|
</span>
|
|
</button>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% elif IsPlaceholder %}
|
|
<div class="is-flex is-align-items-start">
|
|
<div class="message-content" id="content-{{ ConversationAreaId }}"
|
|
sse-swap="swapContent-{{ ConversationAreaId }}">
|
|
<hx hx-trigger="load" hx-get="/generateMultipleMessages"></hx>
|
|
<div class='message-header'>
|
|
<p>
|
|
Waiting...
|
|
</p>
|
|
</div>
|
|
<div class="message-body">
|
|
<div class="content">
|
|
<img src="/puff.svg" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="is-flex is-justify-content mt-2">
|
|
<button class="button is-small is-primary message-button is-outlined mr-5"
|
|
onclick="copyToClipboard(this)">
|
|
<span class="icon">
|
|
<i class="fa-solid fa-copy"></i>
|
|
</span>
|
|
</button>
|
|
|
|
{% for selectedLLM in SelectedLLMs %}
|
|
<button disable class="button is-small is-primary message-button is-outlined mr-1"
|
|
sse-swap="swapSelectionBtn-{{ selectedLLM.ID.String() }}" hx-swap="outerHTML" hx-target="this">
|
|
<span class="icon is-small">
|
|
<!--img src="icons/{{ selectedLLM.Company }}.png" alt="{{ selectedLLM.Name }}"
|
|
style="max-height: 100%; max-width: 100%;"-->
|
|
<img src="/puff.svg" />
|
|
</span>
|
|
</button>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div> |