diff --git a/frontend/src/features/editor/EditorApp.tsx b/frontend/src/features/editor/EditorApp.tsx index 6f2991a..64f5397 100644 --- a/frontend/src/features/editor/EditorApp.tsx +++ b/frontend/src/features/editor/EditorApp.tsx @@ -83,16 +83,17 @@ function EditorApp() { const { holdModels, holdModelsGLBURL } = useMemo(() => { const holdModels: SessionHoldInstance[] = []; - const holdModelsGLBURL: string[] = []; + const glbUrlSet = new Set(); if (session_data?.related_holds_collection) { session_data.holds_collection_instances?.forEach((hold: SessionHoldInstance) => { - hold.hold_instance_id = hold.id; - holdModels.push(hold); - if (hold.hold_type?.glb_url) { - holdModelsGLBURL.push(hold.hold_type.glb_url); + const holdWithId = { ...hold, hold_instance_id: hold.id }; + holdModels.push(holdWithId); + if (holdWithId.hold_type?.glb_url) { + glbUrlSet.add(holdWithId.hold_type.glb_url); } }); } + const holdModelsGLBURL = Array.from(glbUrlSet); return { holdModels, holdModelsGLBURL }; }, [session_data?.related_holds_collection, session_data?.holds_collection_instances]); diff --git a/frontend/src/features/editor/components/AddHoldModal.tsx b/frontend/src/features/editor/components/AddHoldModal.tsx index 1538324..4bd4a87 100644 --- a/frontend/src/features/editor/components/AddHoldModal.tsx +++ b/frontend/src/features/editor/components/AddHoldModal.tsx @@ -110,7 +110,7 @@ export default function AddHoldModal({ ? deduplicatedStockData.filter( (hold: StockItem) => !currentHoldTypeIds.has(hold.hold_type.id) && - !addedHoldIds.has(hold.hold_type.id as number) + !addedHoldIds.has(hold.hold_type.id) ) : deduplicatedStockData;