refac: select action model behaviour

This commit is contained in:
Timothy Jaeryang Baek 2025-06-27 16:29:04 +04:00
parent 90257442e3
commit 3ff864eb63
5 changed files with 24 additions and 6 deletions

View file

@ -438,6 +438,7 @@
<Message
{chatId}
bind:history
{selectedModels}
messageId={message.id}
idx={messageIdx}
{user}

View file

@ -18,6 +18,8 @@
export let id;
export let content;
export let history;
export let selectedModels = [];
export let model = null;
export let sources = null;
@ -25,11 +27,10 @@
export let preview = false;
export let floatingButtons = true;
export let onSave = () => {};
export let onSourceClick = () => {};
export let onTaskClick = () => {};
export let onAddMessages = () => {};
export let onSave = (e) => {};
export let onSourceClick = (e) => {};
export let onTaskClick = (e) => {};
export let onAddMessages = (e) => {};
let contentContainerElement;
@ -125,6 +126,11 @@
});
</script>
{(selectedModels ?? []).includes(model?.id)
? model?.id
: (selectedModels ?? []).length > 0
? selectedModels.at(0)
: model?.id}
<div bind:this={contentContainerElement}>
<Markdown
{id}
@ -192,7 +198,11 @@
<FloatingButtons
bind:this={floatingButtonsElement}
{id}
model={model?.id}
model={(selectedModels ?? []).includes(model?.id)
? model?.id
: (selectedModels ?? []).length > 0
? selectedModels.at(0)
: model?.id}
messages={createMessagesList(history, id)}
onAdd={({ modelId, parentId, messages }) => {
console.log(modelId, parentId, messages);

View file

@ -13,6 +13,7 @@
import UserMessage from './UserMessage.svelte';
export let chatId;
export let selectedModels = [];
export let idx = 0;
export let history;
@ -70,6 +71,7 @@
{chatId}
{history}
{messageId}
{selectedModels}
isLastMessage={messageId === history.currentId}
siblings={history.messages[history.messages[messageId].parentId]?.childrenIds ?? []}
{gotoMessage}
@ -92,6 +94,7 @@
bind:history
{chatId}
{messageId}
{selectedModels}
isLastMessage={messageId === history?.currentId}
{updateChat}
{editMessage}

View file

@ -23,6 +23,7 @@
export let chatId;
export let history;
export let messageId;
export let selectedModels = [];
export let isLastMessage;
export let readOnly = false;
@ -252,6 +253,7 @@
{chatId}
{history}
messageId={_messageId}
{selectedModels}
isLastMessage={true}
siblings={groupedMessageIds[modelIdx].messageIds}
gotoMessage={(message, messageIdx) => gotoMessage(modelIdx, messageIdx)}

View file

@ -106,6 +106,7 @@
export let chatId = '';
export let history;
export let messageId;
export let selectedModels = [];
let message: MessageType = JSON.parse(JSON.stringify(history.messages[messageId]));
$: if (history.messages) {
@ -795,6 +796,7 @@
<ContentRenderer
id={message.id}
{history}
{selectedModels}
content={message.content}
sources={message.sources}
floatingButtons={message?.done && !readOnly}