diff --git a/apps/mobile/components/project/project-header-card.tsx b/apps/mobile/components/project/project-header-card.tsx index c2e02a5d0..7c2088bd0 100644 --- a/apps/mobile/components/project/project-header-card.tsx +++ b/apps/mobile/components/project/project-header-card.tsx @@ -5,6 +5,11 @@ * Mirrors the visual emphasis of web's `project-header.tsx` but in a single * vertical stack instead of the web sidebar layout — phones don't have the * horizontal real estate for a side-by-side header + properties layout. + * + * Progress section mirrors web `packages/views/projects/components/project-detail.tsx:596-620`: + * horizontal bar driven by `Project.done_count / Project.issue_count` plus a + * "X / Y" label and a percentage. Hidden when there are zero issues — empty + * bar gives no information and creates a divide-by-zero hazard. */ import { Pressable, View } from "react-native"; import type { Project } from "@multica/core/types"; @@ -43,7 +48,35 @@ export function ProjectHeaderCard({ project, onEdit }: Props) { Add a description ) : null} + {project.issue_count > 0 ? ( + + ) : null} ); } + +function ProgressSection({ done, total }: { done: number; total: number }) { + const pct = Math.round((done / total) * 100); + return ( + + + + Progress + + + {done} / {total} · {pct}% + + + + + + + ); +}