From 55f2619ef3b4e1749f3ed85230daa62c7a84894b Mon Sep 17 00:00:00 2001 From: gunshiz Date: Sun, 20 Sep 2026 01:11:27 +0700 Subject: [PATCH] Show source locations for gcsim import errors --- components/import-gcsim-dialog.tsx | 3 +- lib/translator/gcsim-text.ts | 58 ++++++++++++++++++++++++------ lib/translator/import.test.ts | 12 +++++++ lib/translator/import.ts | 32 +++++++++++++---- 4 files changed, 87 insertions(+), 18 deletions(-) diff --git a/components/import-gcsim-dialog.tsx b/components/import-gcsim-dialog.tsx index 9cd4a91..30d1d22 100644 --- a/components/import-gcsim-dialog.tsx +++ b/components/import-gcsim-dialog.tsx @@ -16,6 +16,7 @@ export function ImportGcsimDialog({ catalog, disabled, onImport }: { catalog: Ca const [input, setInput] = useState(""); const [name, setName] = useState("Imported team"); const preview = useMemo(() => input.trim() ? importGcsimConfig(input, catalog, name) : undefined, [input, catalog, name]); + const lineNumbers = useMemo(() => Array.from({ length: input.split("\n").length }, (_, index) => `${index + 1} |`).join("\n"), [input]); const error = preview?.error; return }>Import from gcsim @@ -23,7 +24,7 @@ export function ImportGcsimDialog({ catalog, disabled, onImport }: { catalog: Ca Import from gcsimPaste character settings, artifact stats, and rotation script. Import creates a new team. Team name setName(event.target.value)} /> - Gcsim config