This commit is contained in:
Timothy Jaeryang Baek 2025-08-10 01:03:02 +04:00
parent eac6f6be0a
commit 50181ee99e
13 changed files with 27 additions and 4 deletions

View file

@ -2208,6 +2208,7 @@
{mergeResponses} {mergeResponses}
{chatActionHandler} {chatActionHandler}
{addMessages} {addMessages}
topPadding={true}
bottomPadding={files.length > 0} bottomPadding={files.length > 0}
{onSelect} {onSelect}
/> />

View file

@ -50,6 +50,7 @@
export let readOnly = false; export let readOnly = false;
export let topPadding = false;
export let bottomPadding = false; export let bottomPadding = false;
export let autoScroll; export let autoScroll;
@ -445,6 +446,7 @@
{addMessages} {addMessages}
{triggerScroll} {triggerScroll}
{readOnly} {readOnly}
{topPadding}
/> />
{/each} {/each}
</div> </div>

View file

@ -39,7 +39,7 @@
export let className = 'my-2'; export let className = 'my-2';
export let editorClassName = ''; export let editorClassName = '';
export let stickyButtonsClassName = 'top-8'; export let stickyButtonsClassName = 'top-0';
let pyodideWorker = null; let pyodideWorker = null;

View file

@ -68,7 +68,6 @@
(codeExecution?.result?.error || codeExecution?.result?.output) (codeExecution?.result?.error || codeExecution?.result?.output)
? 'rounded-b-none' ? 'rounded-b-none'
: ''} : ''}
stickyButtonsClassName="top-0"
run={false} run={false}
/> />
</div> </div>

View file

@ -27,6 +27,7 @@
export let save = false; export let save = false;
export let preview = false; export let preview = false;
export let floatingButtons = true; export let floatingButtons = true;
export let topPadding = false;
export let onSave = (e) => {}; export let onSave = (e) => {};
export let onSourceClick = (e) => {}; export let onSourceClick = (e) => {};
@ -134,6 +135,7 @@
{save} {save}
{preview} {preview}
{done} {done}
{topPadding}
sourceIds={(sources ?? []).reduce((acc, s) => { sourceIds={(sources ?? []).reduce((acc, s) => {
let ids = []; let ids = [];
s.document.forEach((document, index) => { s.document.forEach((document, index) => {

View file

@ -14,6 +14,7 @@
export let model = null; export let model = null;
export let save = false; export let save = false;
export let preview = false; export let preview = false;
export let topPadding = false;
export let sourceIds = []; export let sourceIds = [];
@ -51,6 +52,7 @@
{done} {done}
{save} {save}
{preview} {preview}
{topPadding}
{onTaskClick} {onTaskClick}
{onSourceClick} {onSourceClick}
{onSave} {onSave}

View file

@ -32,6 +32,7 @@
export let save = false; export let save = false;
export let preview = false; export let preview = false;
export let topPadding = false;
export let onSave: Function = () => {}; export let onSave: Function = () => {};
export let onUpdate: Function = () => {}; export let onUpdate: Function = () => {};
@ -105,6 +106,7 @@
{attributes} {attributes}
{save} {save}
{preview} {preview}
stickyButtonsClassName={topPadding ? 'top-8' : 'top-0'}
onSave={(value) => { onSave={(value) => {
onSave({ onSave({
raw: token.raw, raw: token.raw,

View file

@ -41,6 +41,7 @@
export let addMessages; export let addMessages;
export let triggerScroll; export let triggerScroll;
export let readOnly = false; export let readOnly = false;
export let topPadding = false;
</script> </script>
<div <div
@ -52,6 +53,7 @@
{#if history.messages[messageId].role === 'user'} {#if history.messages[messageId].role === 'user'}
<UserMessage <UserMessage
{user} {user}
{chatId}
{history} {history}
{messageId} {messageId}
isFirstMessage={idx === 0} isFirstMessage={idx === 0}
@ -66,6 +68,7 @@
{editMessage} {editMessage}
{deleteMessage} {deleteMessage}
{readOnly} {readOnly}
{topPadding}
/> />
{:else if (history.messages[history.messages[messageId].parentId]?.models?.length ?? 1) === 1} {:else if (history.messages[history.messages[messageId].parentId]?.models?.length ?? 1) === 1}
<ResponseMessage <ResponseMessage
@ -90,6 +93,7 @@
{regenerateResponse} {regenerateResponse}
{addMessages} {addMessages}
{readOnly} {readOnly}
{topPadding}
/> />
{:else} {:else}
<MultiResponseMessages <MultiResponseMessages
@ -112,6 +116,7 @@
{triggerScroll} {triggerScroll}
{addMessages} {addMessages}
{readOnly} {readOnly}
{topPadding}
/> />
{/if} {/if}
{/if} {/if}

View file

@ -48,6 +48,8 @@
export let triggerScroll: Function; export let triggerScroll: Function;
export let topPadding = false;
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
let currentMessageId; let currentMessageId;
@ -321,6 +323,7 @@
}} }}
{addMessages} {addMessages}
{readOnly} {readOnly}
{topPadding}
/> />
{/if} {/if}
{/key} {/key}
@ -376,6 +379,7 @@
}} }}
{addMessages} {addMessages}
{readOnly} {readOnly}
{topPadding}
/> />
{/if} {/if}
{/key} {/key}

View file

@ -138,6 +138,7 @@
export let isLastMessage = true; export let isLastMessage = true;
export let readOnly = false; export let readOnly = false;
export let topPadding = false;
let buttonsContainerElement: HTMLDivElement; let buttonsContainerElement: HTMLDivElement;
let showDeleteConfirm = false; let showDeleteConfirm = false;
@ -798,7 +799,7 @@
<!-- always show message contents even if there's an error --> <!-- always show message contents even if there's an error -->
<!-- unless message.error === true which is legacy error handling, where the error message is stored in message.content --> <!-- unless message.error === true which is legacy error handling, where the error message is stored in message.content -->
<ContentRenderer <ContentRenderer
id={message.id} id={`${chatId}-${message.id}`}
{history} {history}
{selectedModels} {selectedModels}
content={message.content} content={message.content}
@ -808,6 +809,7 @@
($settings?.showFloatingActionButtons ?? true)} ($settings?.showFloatingActionButtons ?? true)}
save={!readOnly} save={!readOnly}
preview={!readOnly} preview={!readOnly}
{topPadding}
done={($settings?.chatFadeStreamingText ?? true) done={($settings?.chatFadeStreamingText ?? true)
? (message?.done ?? false) ? (message?.done ?? false)
: true} : true}

View file

@ -23,6 +23,7 @@
export let user; export let user;
export let chatId;
export let history; export let history;
export let messageId; export let messageId;
@ -37,6 +38,7 @@
export let isFirstMessage: boolean; export let isFirstMessage: boolean;
export let readOnly: boolean; export let readOnly: boolean;
export let topPadding = false;
let showDeleteConfirm = false; let showDeleteConfirm = false;
@ -317,7 +319,7 @@
: ' w-full'}" : ' w-full'}"
> >
{#if message.content} {#if message.content}
<Markdown id={message.id} content={message.content} /> <Markdown id={`${chatId}-${message.id}`} content={message.content} {topPadding} />
{/if} {/if}
</div> </div>
</div> </div>

View file

@ -346,6 +346,7 @@
<div class="w-full h-full flex flex-col"> <div class="w-full h-full flex flex-col">
<Messages <Messages
className="h-full flex pt-4 pb-8 w-full" className="h-full flex pt-4 pb-8 w-full"
chatId={`chat-preview-${selectedChat?.id ?? ''}`}
user={$user} user={$user}
readOnly={true} readOnly={true}
{selectedModels} {selectedModels}

View file

@ -50,6 +50,7 @@ export const channels = writable([]);
export const chats = writable(null); export const chats = writable(null);
export const pinnedChats = writable([]); export const pinnedChats = writable([]);
export const tags = writable([]); export const tags = writable([]);
export const folders = writable([]);
export const selectedFolder = writable(null); export const selectedFolder = writable(null);