fix: worker use only i18n keys instead of full i18n

This commit is contained in:
2026-09-13 12:44:51 +05:00
parent 49d0a9444e
commit c2f3838485
12 changed files with 111 additions and 38 deletions
@@ -16,6 +16,7 @@
fileResult?: FileResult | null;
textSource?: string;
textResult?: string | null;
textVars?: Record<string, string | number>;
running?: boolean;
error?: string;
onupload: (file: File) => void;
@@ -34,6 +35,7 @@
fileResult = null,
textSource = "",
textResult = null,
textVars = undefined,
running = false,
error = "",
onupload,
@@ -106,6 +108,7 @@
{result}
{fileResult}
{textResult}
{textVars}
{toolId}
{running}
oncopy={oncopytext}
@@ -12,6 +12,7 @@
result: PixelImage | null;
fileResult?: FileResult | null;
textResult?: string | null;
textVars?: Record<string, string | number>;
toolId?: string;
running?: boolean;
oncopy?: () => void;
@@ -22,6 +23,7 @@
result,
fileResult = null,
textResult = null,
textVars = undefined,
toolId = "",
running = false,
oncopy,
@@ -64,6 +66,7 @@
<SchemaTextResult
value={textResult}
kind="verdict"
vars={textVars}
{toolId}
oncopy={oncopy ?? (() => {})}
ondownload={ondownloadtxt ?? (() => {})}
@@ -1,13 +1,14 @@
<script lang="ts">
import { Copy, Download, FileText } from "@lucide/svelte";
import { verdictTone, verdictText } from "$lib/i18n/schema-tool-strings";
import { verdictText, verdictTone } from "$lib/i18n/schema-tool-strings";
import { t } from "$lib/i18n/t";
import { Copy, Download, FileText } from "@lucide/svelte";
import IconButton from "./ui/IconButton.svelte";
interface Props {
value: string;
kind: "text" | "verdict";
toolId?: string;
vars?: Record<string, string | number>;
fileName?: string;
oncopy: () => void;
ondownload: () => void;
@@ -16,6 +17,7 @@
value,
kind,
toolId = "",
vars = undefined,
fileName = "result.txt",
oncopy,
ondownload,
@@ -23,7 +25,7 @@
const tone = $derived(verdictTone(value));
const displayValue = $derived(
kind === "verdict" && toolId ? verdictText(toolId, value) : value,
kind === "verdict" && toolId ? verdictText(toolId, value, vars) : value,
);
</script>
+18 -2
View File
@@ -38,6 +38,9 @@
let fileResult = $state<FileResult | null>(null);
let textSource = $state("");
let textResult = $state<string | null>(null);
let verdictVars = $state<Record<string, string | number> | undefined>(
undefined,
);
let running = $state(false);
let error = $state("");
let started = $state(false);
@@ -59,6 +62,7 @@
result = null;
fileResult = null;
textResult = null;
verdictVars = undefined;
error = "";
}
@@ -90,7 +94,16 @@
result = null;
textResult = null;
} else {
textResult = out as string;
if (typeof out === "string") {
textResult = out;
verdictVars = undefined;
} else if (out && "key" in out) {
textResult = out.key;
verdictVars = out.vars;
} else {
textResult = null;
verdictVars = undefined;
}
result = null;
fileResult = null;
}
@@ -125,7 +138,9 @@
async function copyText() {
if (!textResult) return;
const copyValue =
resultKind === "verdict" ? verdictText(tool.id, textResult) : textResult;
resultKind === "verdict"
? verdictText(tool.id, textResult, verdictVars)
: textResult;
try {
await navigator.clipboard.writeText(copyValue);
} catch (e) {
@@ -196,6 +211,7 @@
{fileResult}
{textSource}
{textResult}
textVars={verdictVars}
{inputMode}
{resultKind}
{running}