feat: editable code block

This commit is contained in:
Timothy J. Baek
2024-10-05 12:04:36 -07:00
parent 82ac2e4edb
commit 81440460f2
8 changed files with 155 additions and 31 deletions
@@ -1,16 +1,18 @@
<script lang="ts">
import DOMPurify from 'dompurify';
import { onMount } from 'svelte';
import { createEventDispatcher, onMount } from 'svelte';
import { marked, type Token } from 'marked';
import { revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
import { WEBUI_BASE_URL } from '$lib/constants';
import CodeBlock from '$lib/components/chat/Messages/CodeBlock.svelte';
import MarkdownInlineTokens from '$lib/components/chat/Messages/Markdown/MarkdownInlineTokens.svelte';
import KatexRenderer from './KatexRenderer.svelte';
import { WEBUI_BASE_URL } from '$lib/constants';
import { stringify } from 'postcss';
import Collapsible from '$lib/components/common/Collapsible.svelte';
const dispatch = createEventDispatcher();
export let id: string;
export let tokens: Token[];
export let top = true;
@@ -34,6 +36,12 @@
{token}
lang={token?.lang ?? ''}
code={revertSanitizedResponseContent(token?.text ?? '')}
on:save={(e) => {
dispatch('update', {
oldContent: token.text,
newContent: e.detail
});
}}
/>
{:else if token.type === 'table'}
<div class="scrollbar-hidden relative whitespace-nowrap overflow-x-auto max-w-full">