From cb81aa48d3499f1a91ca453ec015ee460a843fc2 Mon Sep 17 00:00:00 2001 From: Naiyuan Qing <145280634+NevilleQingNY@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:35:02 +0800 Subject: [PATCH] feat(desktop): add project detail route Wire /projects/:id in desktop router with ProjectDetailPage wrapper (dynamic document title). Add FolderKanban icon mapping for project tabs. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../renderer/src/pages/project-detail-page.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 apps/desktop/src/renderer/src/pages/project-detail-page.tsx diff --git a/apps/desktop/src/renderer/src/pages/project-detail-page.tsx b/apps/desktop/src/renderer/src/pages/project-detail-page.tsx new file mode 100644 index 0000000000..a476ebf40f --- /dev/null +++ b/apps/desktop/src/renderer/src/pages/project-detail-page.tsx @@ -0,0 +1,17 @@ +import { useParams } from "react-router-dom"; +import { useQuery } from "@tanstack/react-query"; +import { ProjectDetail } from "@multica/views/projects/components"; +import { useWorkspaceId } from "@multica/core/hooks"; +import { projectDetailOptions } from "@multica/core/projects/queries"; +import { useDocumentTitle } from "@/hooks/use-document-title"; + +export function ProjectDetailPage() { + const { id } = useParams<{ id: string }>(); + const wsId = useWorkspaceId(); + const { data: project } = useQuery(projectDetailOptions(wsId, id!)); + + useDocumentTitle(project ? `${project.icon || "📁"} ${project.title}` : "Project"); + + if (!id) return null; + return ; +}