|
@@ -30,6 +30,7 @@
|
|
import Image from '$lib/components/common/Image.svelte';
|
|
import Image from '$lib/components/common/Image.svelte';
|
|
import { WEBUI_BASE_URL } from '$lib/constants';
|
|
import { WEBUI_BASE_URL } from '$lib/constants';
|
|
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
|
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
|
|
|
+ import RateComment from './RateComment.svelte';
|
|
|
|
|
|
export let modelfiles = [];
|
|
export let modelfiles = [];
|
|
export let message;
|
|
export let message;
|
|
@@ -39,6 +40,7 @@
|
|
|
|
|
|
export let readOnly = false;
|
|
export let readOnly = false;
|
|
|
|
|
|
|
|
+ export let updateChatMessages: Function;
|
|
export let confirmEditResponseMessage: Function;
|
|
export let confirmEditResponseMessage: Function;
|
|
export let showPreviousMessage: Function;
|
|
export let showPreviousMessage: Function;
|
|
export let showNextMessage: Function;
|
|
export let showNextMessage: Function;
|
|
@@ -60,6 +62,8 @@
|
|
let loadingSpeech = false;
|
|
let loadingSpeech = false;
|
|
let generatingImage = false;
|
|
let generatingImage = false;
|
|
|
|
|
|
|
|
+ let showRateComment = false;
|
|
|
|
+
|
|
$: tokens = marked.lexer(sanitizeResponseContent(message.content));
|
|
$: tokens = marked.lexer(sanitizeResponseContent(message.content));
|
|
|
|
|
|
const renderer = new marked.Renderer();
|
|
const renderer = new marked.Renderer();
|
|
@@ -536,11 +540,13 @@
|
|
<button
|
|
<button
|
|
class="{isLastMessage
|
|
class="{isLastMessage
|
|
? 'visible'
|
|
? 'visible'
|
|
- : 'invisible group-hover:visible'} p-1 rounded {message.rating === 1
|
|
|
|
|
|
+ : 'invisible group-hover:visible'} p-1 rounded {message?.annotation
|
|
|
|
+ ?.rating === 1
|
|
? 'bg-gray-100 dark:bg-gray-800'
|
|
? 'bg-gray-100 dark:bg-gray-800'
|
|
: ''} dark:hover:text-white hover:text-black transition"
|
|
: ''} dark:hover:text-white hover:text-black transition"
|
|
on:click={() => {
|
|
on:click={() => {
|
|
rateMessage(message.id, 1);
|
|
rateMessage(message.id, 1);
|
|
|
|
+ showRateComment = true;
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
<svg
|
|
<svg
|
|
@@ -563,11 +569,13 @@
|
|
<button
|
|
<button
|
|
class="{isLastMessage
|
|
class="{isLastMessage
|
|
? 'visible'
|
|
? 'visible'
|
|
- : 'invisible group-hover:visible'} p-1 rounded {message.rating === -1
|
|
|
|
|
|
+ : 'invisible group-hover:visible'} p-1 rounded {message?.annotation
|
|
|
|
+ ?.rating === -1
|
|
? 'bg-gray-100 dark:bg-gray-800'
|
|
? 'bg-gray-100 dark:bg-gray-800'
|
|
: ''} dark:hover:text-white hover:text-black transition"
|
|
: ''} dark:hover:text-white hover:text-black transition"
|
|
on:click={() => {
|
|
on:click={() => {
|
|
rateMessage(message.id, -1);
|
|
rateMessage(message.id, -1);
|
|
|
|
+ showRateComment = true;
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
<svg
|
|
<svg
|
|
@@ -824,6 +832,16 @@
|
|
{/if}
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
{/if}
|
|
|
|
+
|
|
|
|
+ {#if showRateComment}
|
|
|
|
+ <RateComment
|
|
|
|
+ bind:show={showRateComment}
|
|
|
|
+ bind:message
|
|
|
|
+ on:submit={() => {
|
|
|
|
+ updateChatMessages();
|
|
|
|
+ }}
|
|
|
|
+ />
|
|
|
|
+ {/if}
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
{/if}
|
|
</div>
|
|
</div>
|