diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 00000000..efd9fc48 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +*.local +.DS_Store +*.tsbuildinfo diff --git a/web/.oxlintrc.json b/web/.oxlintrc.json new file mode 100644 index 00000000..7798f297 --- /dev/null +++ b/web/.oxlintrc.json @@ -0,0 +1,9 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["react", "typescript", "oxc", "jsx-a11y"], + "rules": { + "react/rules-of-hooks": "error", + "react/only-export-components": "off", + "jsx-a11y/prefer-tag-over-role": "off" + } +} diff --git a/web/index.html b/web/index.html new file mode 100644 index 00000000..d8993812 --- /dev/null +++ b/web/index.html @@ -0,0 +1,13 @@ + + +
+ + + +
+ {data.content.trim() === "" ? (
+ Diff is empty.
+ ) : (
+ numbered(data.content.split("\n")).map(({ id, line }) => (
+
+ {line || " "}
+
+ ))
+ )}
+
+ )}
+ + {title === "Actual" + ? "This run produced no output for the test." + : "No baseline file is present in storage."} +
+ )} + {q.data?.cues.length === 0 && ( + // Plain transcripts carry no timings, so there is nothing to sync. +
+ {q.data.content.trim() || Empty file.}
+
+ )}
+ {q.data?.cues.map((c) => (
+ Truncated at 1 MiB.
+ )} ++ Use the same account as the CCExtractor Sample Platform. +
++ This link works once, and stops working as soon as the password + changes. +
+ > + )} + + {done && ( + <> +