{#if !largeScreen} {#if $showControls} showControls.set(false)} className="min-h-[100dvh] !bg-white dark:!bg-gray-850" > {#if $showCallOverlay} showControls.set(false)} /> {:else if $showEmbeds} {:else if $showArtifacts} {:else if $showOverview} {#await import('./Overview.svelte') then { default: Overview }} { const node = e.node; showMessage(node.data.message, true); }} onClose={() => showControls.set(false)} /> {/await} {:else} (activeTab = 'controls')} > {$i18n.t('Controls')} {#if hasTerminal} (activeTab = 'files')} > {$i18n.t('Files')} {/if} showControls.set(false)} aria-label={$i18n.t('Close')} > {#if activeTab === 'files' && hasTerminal} {:else} {/if} {/if} {/if} {:else} {#if $showControls} {/if} { if ($showControls && pane.isExpanded()) { if (size < minSize) pane.resize(minSize); if (size < minSize) { localStorage.chatControlsSize = 0; } else { const container = document.getElementById('chat-container'); localStorage.chatControlsSize = Math.floor((size / 100) * container.clientWidth); } } }} onCollapse={() => showControls.set(false)} collapsible={true} class="z-10 bg-white dark:bg-gray-850" > {#if $showControls} {#if $showCallOverlay} showControls.set(false)} /> {:else if $showEmbeds} {:else if $showArtifacts} {:else if $showOverview} {#await import('./Overview.svelte') then { default: Overview }} { const node = e.node; if (node?.data?.message?.favorite) { history.messages[node.data.message.id].favorite = true; } else { history.messages[node.data.message.id].favorite = null; } showMessage(node.data.message, true); }} onClose={() => showControls.set(false)} /> {/await} {:else} (activeTab = 'controls')} > {$i18n.t('Controls')} {#if hasTerminal} (activeTab = 'files')} > {$i18n.t('Files')} {/if} showControls.set(false)} aria-label={$i18n.t('Close')} > {#if activeTab === 'files' && hasTerminal} {:else} {/if} {/if} {/if} {/if}