/
Netrunners
/
Millenium_UI
Обзор
Документация
Войти
/
Netrunners
/
Millenium_UI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/lib/components/chat/Messages/Message.svelte
109 строк
3 KB
Валерий Конюхов
first_commit
08 июл 2025, 22:20
08 июл 2025, 22:20
a4e8dc9
Код
Авторство
О чём код?
<script lang="ts"> import { toast } from 'svelte-sonner'; import { tick, getContext, onMount, createEventDispatcher } from 'svelte'; const dispatch = createEventDispatcher(); const i18n = getContext('i18n'); import { settings } from '$lib/stores'; import { copyToClipboard } from '$lib/utils'; import MultiResponseMessages from './MultiResponseMessages.svelte'; import ResponseMessage from './ResponseMessage.svelte'; import UserMessage from './UserMessage.svelte'; export let chatId; export let idx = 0; export let history; export let messageId; export let user; export let showPreviousMessage; export let showNextMessage; export let updateChat; export let editMessage; export let saveMessage; export let deleteMessage; export let rateMessage; export let actionMessage; export let submitMessage; export let regenerateResponse; export let continueResponse; export let mergeResponses; export let addMessages; export let triggerScroll; export let readOnly = false; </script> <div class="flex flex-col justify-between px-5 mb-3 w-full {($settings?.widescreenMode ?? null) ? 'max-w-full' : 'max-w-5xl'} mx-auto rounded-lg group" > {#if history.messages[messageId]} {#if history.messages[messageId].role === 'user'} <UserMessage {user} {history} {messageId} isFirstMessage={idx === 0} siblings={history.messages[messageId].parentId !== null ? (history.messages[history.messages[messageId].parentId]?.childrenIds ?? []) : (Object.values(history.messages) .filter((message) => message.parentId === null) .map((message) => message.id) ?? [])} {showPreviousMessage} {showNextMessage} {editMessage} {deleteMessage} {readOnly} /> {:else if (history.messages[history.messages[messageId].parentId]?.models?.length ?? 1) === 1} <ResponseMessage {chatId} {history} {messageId} isLastMessage={messageId === history.currentId} siblings={history.messages[history.messages[messageId].parentId]?.childrenIds ?? []} {showPreviousMessage} {showNextMessage} {updateChat} {editMessage} {saveMessage} {rateMessage} {actionMessage} {submitMessage} {deleteMessage} {continueResponse} {regenerateResponse} {addMessages} {readOnly} /> {:else} <MultiResponseMessages bind:history {chatId} {messageId} isLastMessage={messageId === history?.currentId} {updateChat} {editMessage} {saveMessage} {rateMessage} {actionMessage} {submitMessage} {deleteMessage} {continueResponse} {regenerateResponse} {mergeResponses} {triggerScroll} {addMessages} {readOnly} /> {/if} {/if} </div>