mirror of
https://github.com/open-webui/open-webui
synced 2025-02-20 20:07:28 +00:00
enh: codespan click to copy content
This commit is contained in:
parent
faeabfb3d4
commit
7fc049a513
@ -1,12 +1,17 @@
|
||||
<script lang="ts">
|
||||
import DOMPurify from 'dompurify';
|
||||
import type { Token } from 'marked';
|
||||
import { revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
|
||||
import { onMount } from 'svelte';
|
||||
import Image from '$lib/components/common/Image.svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import type { Token } from 'marked';
|
||||
import { getContext } from 'svelte';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
import KatexRenderer from './KatexRenderer.svelte';
|
||||
import { WEBUI_BASE_URL } from '$lib/constants';
|
||||
import { copyToClipboard, revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
|
||||
|
||||
import Image from '$lib/components/common/Image.svelte';
|
||||
import KatexRenderer from './KatexRenderer.svelte';
|
||||
|
||||
export let id: string;
|
||||
export let tokens: Token[];
|
||||
@ -37,7 +42,15 @@
|
||||
<svelte:self id={`${id}-em`} tokens={token.tokens} />
|
||||
</em>
|
||||
{:else if token.type === 'codespan'}
|
||||
<code class="codespan">{unescapeHtml(token.text)}</code>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
||||
<code
|
||||
class="codespan cursor-pointer"
|
||||
on:click={() => {
|
||||
copyToClipboard(unescapeHtml(token.text));
|
||||
toast.success($i18n.t('Copied to clipboard'));
|
||||
}}>{unescapeHtml(token.text)}</code
|
||||
>
|
||||
{:else if token.type === 'br'}
|
||||
<br />
|
||||
{:else if token.type === 'del'}
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "تم نسخ عنوان URL للدردشة المشتركة إلى الحافظة",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "نسخ",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "انسخ كتلة التعليمات البرمجية الأخيرة",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Копирана е връзката за чат!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Копирай",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Копиране на последен код блок",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "শেয়ারকৃত কথা-ব্যবহারের URL ক্লিপবোর্ডে কপি করা হয়েছে!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "অনুলিপি",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "সর্বশেষ কোড ব্লক কপি করুন",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Controls",
|
||||
"Copied": "Copiat",
|
||||
"Copied shared chat URL to clipboard!": "S'ha copiat l'URL compartida al porta-retalls!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copiar",
|
||||
"Copy Code": "Copiar el codi",
|
||||
"Copy last code block": "Copiar l'últim bloc de codi",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopyaha ang katapusang bloke sa code",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Freigabelink in die Zwischenablage kopiert!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopieren",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Letzten Codeblock kopieren",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copy last code block",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "¡URL de chat compartido copiado al portapapeles!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copiar",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copia el último bloque de código",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL چت به کلیپ بورد کپی شد!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "کپی",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "کپی آخرین بلوک کد",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Jaettu keskustelulinkki kopioitu leikepöydälle!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopioi",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopioi viimeisin koodilohko",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL du chat copiée dans le presse-papiers\u00a0!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copie",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copier le dernier bloc de code",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Contrôles",
|
||||
"Copied": "Copié",
|
||||
"Copied shared chat URL to clipboard!": "URL du chat copiée dans le presse-papiers\u00a0!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copie",
|
||||
"Copy Code": "Copier le code",
|
||||
"Copy last code block": "Copier le dernier bloc de code",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "העתקת כתובת URL של צ'אט משותף ללוח!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "העתק",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "העתק את בלוק הקוד האחרון",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "साझा चैट URL को क्लिपबोर्ड पर कॉपी किया गया!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "कॉपी",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "अंतिम कोड ब्लॉक कॉपी करें",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL dijeljenog razgovora kopiran u međuspremnik!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopiraj",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopiraj zadnji blok koda",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Menyalin URL obrolan bersama ke papan klip!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Menyalin",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Salin blok kode terakhir",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL della chat condivisa copiato negli appunti!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copia",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copia ultimo blocco di codice",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "共有チャットURLをクリップボードにコピーしました!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "コピー",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "最後のコードブロックをコピー",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "ყავს ჩათის URL-ი კლიპბორდში!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "კოპირება",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "ბოლო ბლოკის კოპირება",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "공유 채팅 URL이 클립보드에 복사되었습니다!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "복사",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "마지막 코드 블록 복사",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Valdymas",
|
||||
"Copied": "Nukopijuota",
|
||||
"Copied shared chat URL to clipboard!": "Nukopijavote pokalbio nuorodą",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopijuoti",
|
||||
"Copy Code": "Kopijuoti kodą",
|
||||
"Copy last code block": "Kopijuoti paskutinį kodo bloką",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Kawalan",
|
||||
"Copied": "Disalin",
|
||||
"Copied shared chat URL to clipboard!": "Menyalin URL sembang kongsi ke papan klip",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Salin",
|
||||
"Copy Code": "Salin Kod",
|
||||
"Copy last code block": "Salin Blok Kod Terakhir",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Kontroller",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Kopiert delt chat-URL til utklippstavlen!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopier",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopier siste kodeblokk",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL van gedeelde gesprekspagina gekopieerd naar klembord!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopieer",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopieer laatste code blok",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "ਸਾਂਝੇ ਕੀਤੇ ਗੱਲਬਾਤ URL ਨੂੰ ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰ ਦਿੱਤਾ!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "ਕਾਪੀ ਕਰੋ",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "ਆਖਰੀ ਕੋਡ ਬਲਾਕ ਨੂੰ ਕਾਪੀ ਕਰੋ",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Skopiowano URL czatu do schowka!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopiuj",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Skopiuj ostatni blok kodu",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Controles",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL de chat compartilhado copiado para a área de transferência!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copiar",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copiar último bloco de código",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL de Conversa partilhado copiada com sucesso!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copiar",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copiar último bloco de código",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Controale",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "URL-ul conversației partajate a fost copiat în clipboard!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Copiază",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Copiază ultimul bloc de cod",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Управление",
|
||||
"Copied": "Скопировано",
|
||||
"Copied shared chat URL to clipboard!": "Копирование в буфер обмена выполнено успешно!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Копировать",
|
||||
"Copy Code": "Скопировать код",
|
||||
"Copy last code block": "Копировать последний блок кода",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Адреса дељеног ћаскања ископирана у оставу!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Копирај",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Копирај последњи блок кода",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Kopierad delad chatt-URL till urklipp!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopiera",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Kopiera sista kodblock",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "การควบคุม",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "คัดลอก URL แชทที่แชร์ไปยังคลิปบอร์ดแล้ว!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "คัดลอก",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "คัดลอกบล็อกโค้ดสุดท้าย",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "Paylaşılan sohbet URL'si panoya kopyalandı!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Kopyala",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "Son kod bloğunu kopyala",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "Керування",
|
||||
"Copied": "Скопійовано",
|
||||
"Copied shared chat URL to clipboard!": "Скопійовано URL-адресу спільного чату в буфер обміну!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Копіювати",
|
||||
"Copy Code": "Копіювати код",
|
||||
"Copy last code block": "Копіювати останній блок коду",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "",
|
||||
"Copied": "Đã sao chép",
|
||||
"Copied shared chat URL to clipboard!": "Đã sao chép link chia sẻ trò chuyện vào clipboard!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "Sao chép",
|
||||
"Copy Code": "Sao chép Code",
|
||||
"Copy last code block": "Sao chép khối mã cuối cùng",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "对话高级设置",
|
||||
"Copied": "已复制",
|
||||
"Copied shared chat URL to clipboard!": "已复制此对话分享链接至剪贴板!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "复制",
|
||||
"Copy Code": "复制代码",
|
||||
"Copy last code block": "复制最后一个代码块中的代码",
|
||||
|
@ -140,6 +140,7 @@
|
||||
"Controls": "控制項",
|
||||
"Copied": "",
|
||||
"Copied shared chat URL to clipboard!": "已複製共用對話 URL 到剪貼簿!",
|
||||
"Copied to clipboard": "",
|
||||
"Copy": "複製",
|
||||
"Copy Code": "",
|
||||
"Copy last code block": "複製最後一個程式碼區塊",
|
||||
|
Loading…
Reference in New Issue
Block a user