feat(frontend): add brand kit management UI and project binding

Add a brand kit domain model, repository, and dedicated page/route for
managing brand kits, plus a BrandKitSelector used on the home page and
canvas workspace. Home project creation and the workspace can attach a
brand kit to a project, with new i18n strings and a side-nav entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-10 20:59:05 +08:00
parent 789f51b29e
commit 2df9ae6581
24 changed files with 4885 additions and 10 deletions
+2
View File
@@ -7,6 +7,7 @@ import { readRoute, type AppRoute } from "@/application/route";
import { designGateway } from "@/infrastructure/designGateway";
import { httpStatusOf } from "@/infrastructure/userMessages";
import { BrandMark } from "@/ui/components/BrandMark";
import { BrandKitRoutePage } from "@/ui/pages/BrandKitRoutePage";
import { CanvasWorkspace } from "@/ui/pages/CanvasWorkspace";
import { HomePage } from "@/ui/pages/HomePage";
import { NotFoundPage } from "@/ui/pages/NotFoundPage";
@@ -46,6 +47,7 @@ export function App() {
if (route.name === "project") return <CanvasWorkspace projectId={route.id} />;
if (route.name === "share") return <SharedCanvasRoute shareId={route.id} />;
if (route.name === "projects") return <ProjectsRoutePage />;
if (route.name === "brandKit") return <BrandKitRoutePage />;
if (route.name === "notFound") return <NotFoundPage />;
return <HomePage />;
}