fix(ticket): stabilize detection preview index during loading
This commit is contained in:
@@ -121,6 +121,7 @@ export function TicketClassDetectionPreview({
|
||||
);
|
||||
const detectionResult = detectionsQuery.data;
|
||||
const activeDetection = detectionResult?.items[0];
|
||||
const confirmedDetectionCount = detectionResult?.total;
|
||||
const detectionCount =
|
||||
detectionResult?.total ?? (assignmentId ? 0 : (totalCount ?? 0));
|
||||
const activeVisual = getDefectVisual(
|
||||
@@ -136,15 +137,20 @@ export function TicketClassDetectionPreview({
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (detectionCount === 0 && currentIndex !== 0) {
|
||||
if (confirmedDetectionCount === undefined) return;
|
||||
|
||||
if (confirmedDetectionCount === 0 && currentIndex !== 0) {
|
||||
setCurrentIndex(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (detectionCount > 0 && currentIndex > detectionCount - 1) {
|
||||
setCurrentIndex(detectionCount - 1);
|
||||
if (
|
||||
confirmedDetectionCount > 0 &&
|
||||
currentIndex > confirmedDetectionCount - 1
|
||||
) {
|
||||
setCurrentIndex(confirmedDetectionCount - 1);
|
||||
}
|
||||
}, [currentIndex, detectionCount]);
|
||||
}, [confirmedDetectionCount, currentIndex]);
|
||||
|
||||
const isNavigationDisabled =
|
||||
detectionCount === 0 || detectionsQuery.isLoading;
|
||||
|
||||
Reference in New Issue
Block a user