feat(ticket): use assignment detections API for unassigned issues
This commit is contained in:
@@ -5,7 +5,10 @@ import dynamic from 'next/dynamic';
|
||||
import { AlertTriangle, MapPinned, RefreshCw } from 'lucide-react';
|
||||
|
||||
import { getDefectVisual } from '@/constants/defectVisualConfig';
|
||||
import type { DetectionResultItem, VideoDetectionsResponse } from '@/types';
|
||||
import type {
|
||||
TicketAssignmentDetectionItem,
|
||||
TicketAssignmentDetectionsResponse,
|
||||
} from '@/types';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import {
|
||||
Card,
|
||||
@@ -18,7 +21,7 @@ import {
|
||||
import type { AssignmentRangePoint } from './assignmentRange';
|
||||
|
||||
type AssignmentIssuesMapProps = {
|
||||
data?: VideoDetectionsResponse;
|
||||
data?: TicketAssignmentDetectionsResponse;
|
||||
isLoading: boolean;
|
||||
isError: boolean;
|
||||
startPoint: AssignmentRangePoint | null;
|
||||
@@ -32,7 +35,6 @@ type AssignmentMapItem = {
|
||||
display_name: string;
|
||||
latitude: number;
|
||||
longitude: number;
|
||||
confidence: number;
|
||||
sequence: number;
|
||||
};
|
||||
|
||||
@@ -50,7 +52,10 @@ type ClientAssignmentIssuesMapProps = {
|
||||
onSelectDetection: (detectionId: number) => void;
|
||||
};
|
||||
|
||||
function toMapItem(item: DetectionResultItem): AssignmentMapItem | null {
|
||||
function toMapItem(
|
||||
item: TicketAssignmentDetectionItem,
|
||||
sequence: number,
|
||||
): AssignmentMapItem | null {
|
||||
const { latitude, longitude } = item.location;
|
||||
if (
|
||||
typeof latitude !== 'number' ||
|
||||
@@ -71,8 +76,7 @@ function toMapItem(item: DetectionResultItem): AssignmentMapItem | null {
|
||||
display_name: item.detection.display_name,
|
||||
latitude,
|
||||
longitude,
|
||||
confidence: item.detection.confidence,
|
||||
sequence: item.frame.timestamp_seconds,
|
||||
sequence,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -263,12 +267,6 @@ const ClientAssignmentIssuesMap = dynamic<ClientAssignmentIssuesMapProps>(
|
||||
</div>
|
||||
|
||||
<dl className="!m-0 space-y-2 py-3 text-sm">
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<dt className="text-muted-foreground">Confidence</dt>
|
||||
<dd className="!m-0 font-medium tabular-nums">
|
||||
{Math.round(item.confidence * 100)}%
|
||||
</dd>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<dt className="text-muted-foreground">Latitude</dt>
|
||||
<dd className="!m-0 font-mono text-xs tabular-nums">
|
||||
@@ -321,8 +319,8 @@ export function AssignmentIssuesMap({
|
||||
);
|
||||
const validItems = useMemo(
|
||||
() =>
|
||||
(data?.items ?? []).flatMap((item) => {
|
||||
const mapItem = toMapItem(item);
|
||||
(data?.items ?? []).flatMap((item, index) => {
|
||||
const mapItem = toMapItem(item, index);
|
||||
return mapItem ? [mapItem] : [];
|
||||
}),
|
||||
[data?.items],
|
||||
|
||||
Reference in New Issue
Block a user