{#if show_share_button && value !== null && value.length > 0}
{/if} {#if show_copy_all_button}
{/if}
{#if value !== null && value.length > 0 && groupedMessages !== null} {#each groupedMessages as messages, i} {@const role = messages[0].role === "user" ? "user" : "bot"} {@const avatar_img = avatar_images[role === "user" ? 0 : 1]} {@const opposite_avatar_img = avatar_images[role === "user" ? 0 : 1]} {#if is_image_preview_open}
{ is_image_preview_open = false; }}>
{/if}
{#if avatar_img !== null}
{/if}
{#each messages as message, thought_index} {@const msg_type = messages[0].type}
0} >
handle_select(i, message)} on:keydown={(e) => { if (e.key === "Enter") { handle_select(i, message); } }} dir={rtl ? "rtl" : "ltr"} aria-label={role + "'s message: " + get_message_label_data(message)} > {#if message.type === "text"} {#if message.metadata.title}
{:else}
{/if} {:else if message.type === "component" && message.content.component in _components}
{:else if message.type === "component" && message.content.component === "file"}
{message.content.value?.orig_name || message.content.value?.path.split("/").pop() || "file"}
{/if}
{/each}
handle_like(i, messages[0], selected)} {likeable} {show_copy_button} message={msg_format === "tuples" ? messages[0] : messages} position={role === "user" ? "right" : "left"} avatar={avatar_img} {layout} /> {/each} {#if pending_message}
{/if} {:else if placeholder !== null}
{/if}