From 430750e3d4b223f8b09a60b84c8d797664200067 Mon Sep 17 00:00:00 2001 From: vutukuri15 Date: Sun, 9 Mar 2025 20:54:47 -0700 Subject: [PATCH] Fixed issue with extra colors of image input --- components/ChipDetection.tsx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/components/ChipDetection.tsx b/components/ChipDetection.tsx index bcbe689..eace4cc 100644 --- a/components/ChipDetection.tsx +++ b/components/ChipDetection.tsx @@ -16,6 +16,8 @@ const ChipDetection = ({ Record >({}); + const chipColors = ["white", "red", "green", "blue", "black"]; + const requestCameraPermissions = async () => { const cameraPermission = await ImagePicker.requestCameraPermissionsAsync(); return cameraPermission.granted; @@ -99,9 +101,19 @@ const ChipDetection = ({ const cleanJSON = rawContent.replace(/```json|```/g, "").trim(); const parsedData: Record = JSON.parse(cleanJSON); - const filteredData = Object.fromEntries( - Object.entries(parsedData).filter(([_, count]) => count > 0) - ); + const filteredData = Object.entries(parsedData) + .filter(([color]) => chipColors.includes(color)) + .sort( + ([colorA], [colorB]) => + chipColors.indexOf(colorA) - chipColors.indexOf(colorB) + ) + .reduce( + (acc, [color, count]) => { + acc[color] = count; + return acc; + }, + {} as Record + ); setLastDetectedChips(filteredData); updateChipCount(filteredData);