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);