From 0349891f52b73cf41fd71d1ff51fe9a93f57dc0f Mon Sep 17 00:00:00 2001 From: "santasri.pachhal" Date: Wed, 5 Aug 2026 18:17:31 +0530 Subject: [PATCH] feat(tickets): show pending repair review count in ticket details --- .../components/TicketDetailHeader.tsx | 6 ++++- .../actions/OpenRepairReviewAction.tsx | 26 ++++++++++++++++++- src/types/ticket/detail.ts | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/app/(modules)/ticket/[ticketId]/components/TicketDetailHeader.tsx b/src/app/(modules)/ticket/[ticketId]/components/TicketDetailHeader.tsx index 7a34288..e71cad7 100644 --- a/src/app/(modules)/ticket/[ticketId]/components/TicketDetailHeader.tsx +++ b/src/app/(modules)/ticket/[ticketId]/components/TicketDetailHeader.tsx @@ -28,7 +28,11 @@ export function TicketDetailHeader({
- + diff --git a/src/app/(modules)/ticket/[ticketId]/components/actions/OpenRepairReviewAction.tsx b/src/app/(modules)/ticket/[ticketId]/components/actions/OpenRepairReviewAction.tsx index 4c8d741..d3b4c42 100644 --- a/src/app/(modules)/ticket/[ticketId]/components/actions/OpenRepairReviewAction.tsx +++ b/src/app/(modules)/ticket/[ticketId]/components/actions/OpenRepairReviewAction.tsx @@ -3,19 +3,43 @@ import { useRouter } from 'next/navigation'; import { ClipboardCheck } from 'lucide-react'; +import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { ROUTES } from '@/utils/routes'; -export function OpenRepairReviewAction({ ticketId }: { ticketId: string }) { +interface OpenRepairReviewActionProps { + ticketId: string; + hasPendingReview: boolean; + pendingReviewCount: number; +} + +export function OpenRepairReviewAction({ + ticketId, + hasPendingReview, + pendingReviewCount, +}: OpenRepairReviewActionProps) { const router = useRouter(); + const count = Math.max(0, pendingReviewCount ?? 0); return ( ); } diff --git a/src/types/ticket/detail.ts b/src/types/ticket/detail.ts index c1d889b..f5e611f 100644 --- a/src/types/ticket/detail.ts +++ b/src/types/ticket/detail.ts @@ -73,6 +73,8 @@ export interface TicketAssignmentsResponse { export interface TicketOverviewDetail { id: string; ticket_name?: string | null; + has_pending_review: boolean; + pending_review_count: number; video_id?: string | null; video?: TicketVideo | null; chainage_id?: string | null;