diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte
index f92c66210..64fa1d973 100644
--- a/src/lib/components/chat/Messages/CodeBlock.svelte
+++ b/src/lib/components/chat/Messages/CodeBlock.svelte
@@ -14,6 +14,9 @@
import { config } from '$lib/stores';
import { executeCode } from '$lib/apis/utils';
import { toast } from 'svelte-sonner';
+ import ChevronUp from '$lib/components/icons/ChevronUp.svelte';
+ import ChevronUpDown from '$lib/components/icons/ChevronUpDown.svelte';
+ import CommandLine from '$lib/components/icons/CommandLine.svelte';
const i18n = getContext('i18n');
@@ -57,9 +60,14 @@
let result = null;
let files = null;
+ let collapsed = false;
let copied = false;
let saved = false;
+ const collapseCodeBlock = () => {
+ collapsed = !collapsed;
+ };
+
const saveCode = () => {
saved = true;
@@ -418,18 +426,39 @@
class="sticky {stickyButtonsClassName} mb-1 py-1 pr-2.5 flex items-center justify-end z-10 text-xs text-black dark:text-white"
>
+
+
{#if lang.toLowerCase() === 'python' || lang.toLowerCase() === 'py' || (lang === '' && checkPythonCode(code))}
{#if executing}
Running
{:else if run}
+
+
+
+
+
+ {$i18n.t('Run')}
+
+
{/if}
{/if}
@@ -457,65 +486,80 @@
: 'rounded-b-lg'} overflow-hidden"
>
-
{
- saveCode();
- }}
- onChange={(value) => {
- _code = value;
- }}
- />
+
+ {#if !collapsed}
+ {
+ saveCode();
+ }}
+ onChange={(value) => {
+ _code = value;
+ }}
+ />
+ {:else}
+
+
+ {$i18n.t('{{COUNT}} hidden lines', {
+ COUNT: code.split('\n').length
+ })}
+
+
+ {/if}
-
- {#if executing}
-
-
STDOUT/STDERR
-
Running...
-
- {:else}
- {#if stdout || stderr}
+ id="plt-canvas-{id}"
+ class="bg-gray-50 dark:bg-[#202123] dark:text-white max-w-full overflow-x-auto scrollbar-hidden"
+ />
+
+ {#if executing || stdout || stderr || result || files}
+
+ {#if executing}
STDOUT/STDERR
-
- {stdout || stderr}
-
+
Running...
- {/if}
- {#if result || files}
-
-
RESULT
- {#if result}
-
{`${JSON.stringify(result)}`}
- {/if}
- {#if files}
-
- {#each files as file}
- {#if file.type.startsWith('image')}
-

- {/if}
- {/each}
+ {:else}
+ {#if stdout || stderr}
+
+
STDOUT/STDERR
+
+ {stdout || stderr}
- {/if}
-
+
+ {/if}
+ {#if result || files}
+
+
RESULT
+ {#if result}
+
{`${JSON.stringify(result)}`}
+ {/if}
+ {#if files}
+
+ {#each files as file}
+ {#if file.type.startsWith('image')}
+

+ {/if}
+ {/each}
+
+ {/if}
+
+ {/if}
{/if}
- {/if}
-
+
+ {/if}
{/if}
{/if}
diff --git a/src/lib/components/chat/Placeholder.svelte b/src/lib/components/chat/Placeholder.svelte
index 74d6cd9fc..f56988d11 100644
--- a/src/lib/components/chat/Placeholder.svelte
+++ b/src/lib/components/chat/Placeholder.svelte
@@ -102,7 +102,7 @@
{/if}