diff --git a/src/pages/courts/CourtReportDetail.tsx b/src/pages/courts/CourtReportDetail.tsx index 06bdcd0..ff9bee6 100644 --- a/src/pages/courts/CourtReportDetail.tsx +++ b/src/pages/courts/CourtReportDetail.tsx @@ -45,10 +45,10 @@ import { courtLabel, CourtDeadline, CourtCopyValue, + CourtReportActionStatus, CourtStandingReference, CourtStateSummary, CourtTargetPreview, - CourtTriggerCounter, courtTone, formatCourtInstant, } from "./components/CourtPrimitives"; @@ -333,6 +333,7 @@ const CourtReportDetail: React.FC = () => { label={courtReportStateDisplay(report.state).label} tone={courtTone(report.state)} /> + { } /> - {report.triggerProgress ? ( - - ) : null} {process ? (

Next: {process.nextStep} diff --git a/src/pages/courts/components/CourtPrimitives.tsx b/src/pages/courts/components/CourtPrimitives.tsx index eaaa855..a578a22 100644 --- a/src/pages/courts/components/CourtPrimitives.tsx +++ b/src/pages/courts/components/CourtPrimitives.tsx @@ -14,9 +14,11 @@ import { NoDataYetBar } from "@/components/NoDataYetBar"; import { Button } from "@/components/primitives/button"; import { compactCourtAuditValue, + courtReportActionProgress, courtSnapshotTitle, courtStandingDisplay, } from "../model/courtPresentation"; +import type { CourtMyReportItemV2Dto } from "@/types/api"; export function courtLabel(value: string): string { return value @@ -123,20 +125,21 @@ export function CourtTriggerCounter({ viewerCounts?: boolean; }) { const completed = current === undefined ? 0 : Math.min(current, required); + const remaining = Math.max(required - completed, 0); const percentage = required > 0 ? (completed / required) * 100 : 0; return ( -

+

{label}

{current === undefined ? `${required} required` - : `${completed} / ${required}`} + : `${completed} received · ${remaining} left`}

{current !== undefined ? (
; +}) { + const progress = courtReportActionProgress(report); + if (!progress) return null; + return ; +} + export function courtTone( value: string, ): "danger" | "neutral" | "ok" | "primary" | "warn" { diff --git a/src/pages/courts/components/CourtRecordCards.tsx b/src/pages/courts/components/CourtRecordCards.tsx index d6cb3ef..4a3e2f0 100644 --- a/src/pages/courts/components/CourtRecordCards.tsx +++ b/src/pages/courts/components/CourtRecordCards.tsx @@ -25,8 +25,8 @@ import { import { CourtCopyValue, CourtDeadline, + CourtReportActionStatus, CourtStandingReference, - CourtTriggerCounter, courtLabel, courtTone, formatCourtInstant, @@ -149,6 +149,7 @@ export function CourtReportCard({ {state.label}
+

{state.description}

) : null} - {report.triggerProgress ? ( - - ) : null}
{report.target.route ? (