fix: wire catalog add buttons, fix Trans bold rendering, lint cleanup
Some checks failed
CI / ci (push) Failing after 1m44s
CI / e2e (push) Has been skipped
CI / deploy (push) Has been skipped

- CatalogSearchOverlay: replace handleAddStub with real openAddToCollection/openAddToThread routing based on catalogSearchMode
- ConfirmDialog + __root.tsx: swap t() for Trans component on deleteItemMessage, deleteCandidateMessage, pickWinnerMessage — fixes <bold> rendering as literal text
- Biome format pass: fix 23 lint/format errors across scripts, services, tests
- Planning: mark all UAT and verification gaps resolved for phases 07, 11, 16, 20, 21, 22, 24, 32, 34; close debug sessions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-19 15:36:16 +02:00
parent 16058d0f4d
commit 4ccbb2b070
40 changed files with 807 additions and 227 deletions

View File

@@ -30,8 +30,14 @@ const dryRun = args["dry-run"] === "true";
async function listActiveManufacturers(targetTier: number) {
const res = await fetch(`${GEARBOX_URL}/api/manufacturers`);
if (!res.ok) throw new Error(`Failed to list manufacturers: HTTP ${res.status}`);
const all = await res.json() as Array<{ slug: string; tier: number; active: boolean; name: string }>;
if (!res.ok)
throw new Error(`Failed to list manufacturers: HTTP ${res.status}`);
const all = (await res.json()) as Array<{
slug: string;
tier: number;
active: boolean;
name: string;
}>;
return all.filter((m) => m.active && m.tier === targetTier);
}
@@ -42,9 +48,15 @@ async function main() {
}
const manufacturers = await listActiveManufacturers(tier);
console.log(`Found ${manufacturers.length} active tier-${tier} manufacturers\n`);
console.log(
`Found ${manufacturers.length} active tier-${tier} manufacturers\n`,
);
const results: Array<{ slug: string; status: "ok" | "error"; error?: string }> = [];
const results: Array<{
slug: string;
status: "ok" | "error";
error?: string;
}> = [];
for (const m of manufacturers) {
console.log(`\n${"─".repeat(50)}`);
@@ -52,7 +64,13 @@ async function main() {
try {
const extraArgs = dryRun ? ["--dry-run"] : [];
const proc = Bun.spawn(
["bun", "run", "scripts/crawl-manufacturer.ts", `--manufacturer=${m.slug}`, ...extraArgs],
[
"bun",
"run",
"scripts/crawl-manufacturer.ts",
`--manufacturer=${m.slug}`,
...extraArgs,
],
{ stdout: "inherit", stderr: "inherit", env: process.env },
);
const exitCode = await proc.exited;
@@ -60,7 +78,11 @@ async function main() {
results.push({ slug: m.slug, status: "ok" });
} catch (err) {
console.error(` ERROR: ${(err as Error).message}`);
results.push({ slug: m.slug, status: "error", error: (err as Error).message });
results.push({
slug: m.slug,
status: "error",
error: (err as Error).message,
});
}
}