feat: queue messages

This commit is contained in:
Tim Baek
2026-02-05 10:06:37 +04:00
parent e62649f940
commit 62750b8980
5 changed files with 225 additions and 4 deletions
@@ -90,6 +90,7 @@
import { goto } from '$app/navigation';
import InputModal from '../common/InputModal.svelte';
import Expand from '../icons/Expand.svelte';
import QueuedMessageItem from './MessageInput/QueuedMessageItem.svelte';
const i18n = getContext('i18n');
@@ -121,6 +122,11 @@
export let webSearchEnabled = false;
export let codeInterpreterEnabled = false;
export let messageQueue: { id: string; prompt: string; files: any[] }[] = [];
export let onQueueSendNow: (id: string) => void = () => {};
export let onQueueEdit: (id: string) => void = () => {};
export let onQueueDelete: (id: string) => void = () => {};
let inputContent = null;
let showInputVariablesModal = false;
@@ -1122,6 +1128,23 @@
on:click={() => createMessagePair(prompt)}
/>
<!-- Queued messages display -->
{#if messageQueue.length > 0}
<div
class="mb-1 mx-2 py-0.5 px-1.5 rounded-2xl bg-gray-900/60 border border-gray-800/50 overflow-hidden"
>
{#each messageQueue as queuedMessage (queuedMessage.id)}
<QueuedMessageItem
id={queuedMessage.id}
content={queuedMessage.prompt}
onSendNow={onQueueSendNow}
onEdit={onQueueEdit}
onDelete={onQueueDelete}
/>
{/each}
</div>
{/if}
<div
id="message-input-container"
class="flex-1 flex flex-col relative w-full shadow-lg rounded-3xl border {$temporaryChatEnabled