From e2c6bbe94a11e0a6b415d613eac11bc262414ea9 Mon Sep 17 00:00:00 2001
From: Cyber Preacher <72062250+Cyber-preacher@users.noreply.github.com>
Date: Fri, 21 Aug 2026 14:06:34 +0400
Subject: [PATCH 1/2] Surface Court report action progress
---
src/pages/courts/CourtReportDetail.tsx | 10 +----
.../courts/components/CourtPrimitives.tsx | 19 ++++++--
.../courts/components/CourtRecordCards.tsx | 10 +----
src/pages/courts/model/courtPresentation.ts | 43 +++++++++++++++++++
tests/e2e/courts-v2.spec.ts | 38 ++++++++++++----
tests/unit/court-presentation.test.ts | 43 +++++++++++++++++++
6 files changed, 136 insertions(+), 27 deletions(-)
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)}
/>
+
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`}
{state.description}