{#if Object.keys(history?.messages ?? {}).length == 0} { let text = p; if (p.includes('{{CLIPBOARD}}')) { const clipboardText = await navigator.clipboard.readText().catch((err) => { toast.error($i18n.t('Failed to read clipboard contents')); return '{{CLIPBOARD}}'; }); text = p.replaceAll('{{CLIPBOARD}}', clipboardText); } prompt = text; await tick(); const chatInputElement = document.getElementById('chat-textarea'); if (chatInputElement) { prompt = p; chatInputElement.style.height = ''; chatInputElement.style.height = Math.min(chatInputElement.scrollHeight, 200) + 'px'; chatInputElement.focus(); const words = findWordIndices(prompt); if (words.length > 0) { const word = words.at(0); chatInputElement.setSelectionRange(word?.startIndex, word.endIndex + 1); } } await tick(); }} /> {:else}
{#key chatId}
{#if messages.at(0)?.parentId !== null} { console.log('visible'); if (!messagesLoading) { loadMoreMessages(); } }} >
Loading...
{/if} {#each messages as message, messageIdx (message.id)} { if (autoScroll) { const element = document.getElementById('messages-container'); autoScroll = element.scrollHeight - element.scrollTop <= element.clientHeight + 50; setTimeout(() => { scrollToBottom(); }, 100); } }} /> {/each}
{#if bottomPadding}
{/if} {/key}
{/if}