|
@@ -719,103 +719,105 @@
|
|
|
{/if}
|
|
|
|
|
|
{#if !readOnly}
|
|
|
- <Tooltip content={$i18n.t('Good Response')} placement="bottom">
|
|
|
- <button
|
|
|
- class="{isLastMessage
|
|
|
- ? 'visible'
|
|
|
- : 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg {(message
|
|
|
- ?.annotation?.rating ?? null) === 1
|
|
|
- ? 'bg-gray-100 dark:bg-gray-800'
|
|
|
- : ''} dark:hover:text-white hover:text-black transition"
|
|
|
- on:click={async () => {
|
|
|
- await rateMessage(message.id, 1);
|
|
|
-
|
|
|
- (model?.actions ?? [])
|
|
|
- .filter((action) => action?.__webui__ ?? false)
|
|
|
- .forEach((action) => {
|
|
|
- dispatch('action', {
|
|
|
- id: action.id,
|
|
|
- event: {
|
|
|
- id: 'good-response',
|
|
|
- data: {
|
|
|
- messageId: message.id
|
|
|
+ {#if $config?.features.enable_message_rating ?? true}
|
|
|
+ <Tooltip content={$i18n.t('Good Response')} placement="bottom">
|
|
|
+ <button
|
|
|
+ class="{isLastMessage
|
|
|
+ ? 'visible'
|
|
|
+ : 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg {(message
|
|
|
+ ?.annotation?.rating ?? null) === 1
|
|
|
+ ? 'bg-gray-100 dark:bg-gray-800'
|
|
|
+ : ''} dark:hover:text-white hover:text-black transition"
|
|
|
+ on:click={async () => {
|
|
|
+ await rateMessage(message.id, 1);
|
|
|
+
|
|
|
+ (model?.actions ?? [])
|
|
|
+ .filter((action) => action?.__webui__ ?? false)
|
|
|
+ .forEach((action) => {
|
|
|
+ dispatch('action', {
|
|
|
+ id: action.id,
|
|
|
+ event: {
|
|
|
+ id: 'good-response',
|
|
|
+ data: {
|
|
|
+ messageId: message.id
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
-
|
|
|
- showRateComment = true;
|
|
|
- window.setTimeout(() => {
|
|
|
- document
|
|
|
- .getElementById(`message-feedback-${message.id}`)
|
|
|
- ?.scrollIntoView();
|
|
|
- }, 0);
|
|
|
- }}
|
|
|
- >
|
|
|
- <svg
|
|
|
- stroke="currentColor"
|
|
|
- fill="none"
|
|
|
- stroke-width="2.3"
|
|
|
- viewBox="0 0 24 24"
|
|
|
- stroke-linecap="round"
|
|
|
- stroke-linejoin="round"
|
|
|
- class="w-4 h-4"
|
|
|
- xmlns="http://www.w3.org/2000/svg"
|
|
|
- ><path
|
|
|
- d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"
|
|
|
- /></svg
|
|
|
+
|
|
|
+ showRateComment = true;
|
|
|
+ window.setTimeout(() => {
|
|
|
+ document
|
|
|
+ .getElementById(`message-feedback-${message.id}`)
|
|
|
+ ?.scrollIntoView();
|
|
|
+ }, 0);
|
|
|
+ }}
|
|
|
>
|
|
|
- </button>
|
|
|
- </Tooltip>
|
|
|
+ <svg
|
|
|
+ stroke="currentColor"
|
|
|
+ fill="none"
|
|
|
+ stroke-width="2.3"
|
|
|
+ viewBox="0 0 24 24"
|
|
|
+ stroke-linecap="round"
|
|
|
+ stroke-linejoin="round"
|
|
|
+ class="w-4 h-4"
|
|
|
+ xmlns="http://www.w3.org/2000/svg"
|
|
|
+ ><path
|
|
|
+ d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"
|
|
|
+ /></svg
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ </Tooltip>
|
|
|
|
|
|
- <Tooltip content={$i18n.t('Bad Response')} placement="bottom">
|
|
|
- <button
|
|
|
- class="{isLastMessage
|
|
|
- ? 'visible'
|
|
|
- : 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg {(message
|
|
|
- ?.annotation?.rating ?? null) === -1
|
|
|
- ? 'bg-gray-100 dark:bg-gray-800'
|
|
|
- : ''} dark:hover:text-white hover:text-black transition"
|
|
|
- on:click={async () => {
|
|
|
- await rateMessage(message.id, -1);
|
|
|
-
|
|
|
- (model?.actions ?? [])
|
|
|
- .filter((action) => action?.__webui__ ?? false)
|
|
|
- .forEach((action) => {
|
|
|
- dispatch('action', {
|
|
|
- id: action.id,
|
|
|
- event: {
|
|
|
- id: 'bad-response',
|
|
|
- data: {
|
|
|
- messageId: message.id
|
|
|
+ <Tooltip content={$i18n.t('Bad Response')} placement="bottom">
|
|
|
+ <button
|
|
|
+ class="{isLastMessage
|
|
|
+ ? 'visible'
|
|
|
+ : 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg {(message
|
|
|
+ ?.annotation?.rating ?? null) === -1
|
|
|
+ ? 'bg-gray-100 dark:bg-gray-800'
|
|
|
+ : ''} dark:hover:text-white hover:text-black transition"
|
|
|
+ on:click={async () => {
|
|
|
+ await rateMessage(message.id, -1);
|
|
|
+
|
|
|
+ (model?.actions ?? [])
|
|
|
+ .filter((action) => action?.__webui__ ?? false)
|
|
|
+ .forEach((action) => {
|
|
|
+ dispatch('action', {
|
|
|
+ id: action.id,
|
|
|
+ event: {
|
|
|
+ id: 'bad-response',
|
|
|
+ data: {
|
|
|
+ messageId: message.id
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
-
|
|
|
- showRateComment = true;
|
|
|
- window.setTimeout(() => {
|
|
|
- document
|
|
|
- .getElementById(`message-feedback-${message.id}`)
|
|
|
- ?.scrollIntoView();
|
|
|
- }, 0);
|
|
|
- }}
|
|
|
- >
|
|
|
- <svg
|
|
|
- stroke="currentColor"
|
|
|
- fill="none"
|
|
|
- stroke-width="2.3"
|
|
|
- viewBox="0 0 24 24"
|
|
|
- stroke-linecap="round"
|
|
|
- stroke-linejoin="round"
|
|
|
- class="w-4 h-4"
|
|
|
- xmlns="http://www.w3.org/2000/svg"
|
|
|
- ><path
|
|
|
- d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"
|
|
|
- /></svg
|
|
|
+
|
|
|
+ showRateComment = true;
|
|
|
+ window.setTimeout(() => {
|
|
|
+ document
|
|
|
+ .getElementById(`message-feedback-${message.id}`)
|
|
|
+ ?.scrollIntoView();
|
|
|
+ }, 0);
|
|
|
+ }}
|
|
|
>
|
|
|
- </button>
|
|
|
- </Tooltip>
|
|
|
+ <svg
|
|
|
+ stroke="currentColor"
|
|
|
+ fill="none"
|
|
|
+ stroke-width="2.3"
|
|
|
+ viewBox="0 0 24 24"
|
|
|
+ stroke-linecap="round"
|
|
|
+ stroke-linejoin="round"
|
|
|
+ class="w-4 h-4"
|
|
|
+ xmlns="http://www.w3.org/2000/svg"
|
|
|
+ ><path
|
|
|
+ d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"
|
|
|
+ /></svg
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ </Tooltip>
|
|
|
+ {/if}
|
|
|
|
|
|
{#if isLastMessage}
|
|
|
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
|