From 225a2a61682b58e26d343bd4add35895e08852c8 Mon Sep 17 00:00:00 2001 From: Toba Ojo Date: Tue, 25 Nov 2025 20:49:11 +0000 Subject: [PATCH] - added add and remove regions on paint selector --- .../cameras/components/CameraGrid.tsx | 7 +++++++ .../CameraSettings/CameraSettings.tsx | 6 ++++++ .../CameraSettings/RegionSelector.tsx | 20 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/src/features/cameras/components/CameraGrid.tsx b/src/features/cameras/components/CameraGrid.tsx index c661c6d..649f8a3 100644 --- a/src/features/cameras/components/CameraGrid.tsx +++ b/src/features/cameras/components/CameraGrid.tsx @@ -39,6 +39,13 @@ const CameraGrid = () => { tabIndex={tabIndex} setTabIndex={setTabIndex} paintedCells={paintedCellsRef} + onAddRegion={() => { + setRegions((prev) => [...prev, { name: `Region ${prev.length + 1}`, brushColour: "#ffffff" }]); + }} + OnRemoveRegion={() => { + setRegions((prev) => prev.filter((_, i) => i !== selectedRegionIndex)); + setSelectedRegionIndex((prev) => (prev > 0 ? prev - 1 : 0)); + }} /> diff --git a/src/features/cameras/components/CameraSettings/CameraSettings.tsx b/src/features/cameras/components/CameraSettings/CameraSettings.tsx index 5daf525..d7f1593 100644 --- a/src/features/cameras/components/CameraSettings/CameraSettings.tsx +++ b/src/features/cameras/components/CameraSettings/CameraSettings.tsx @@ -15,6 +15,8 @@ type CameraSettingsProps = { setTabIndex: (tabIndex: number) => void; tabIndex: number; paintedCells: RefObject>; + onAddRegion: () => void; + OnRemoveRegion: () => void; }; const CameraSettings = ({ @@ -27,6 +29,8 @@ const CameraSettings = ({ tabIndex, setTabIndex, paintedCells, + onAddRegion, + OnRemoveRegion, }: CameraSettingsProps) => { return ( @@ -50,6 +54,8 @@ const CameraSettings = ({ mode={mode} onSelectMode={onSelectMode} paintedCells={paintedCells} + onAddRegion={onAddRegion} + OnRemoveRegion={OnRemoveRegion} /> diff --git a/src/features/cameras/components/CameraSettings/RegionSelector.tsx b/src/features/cameras/components/CameraSettings/RegionSelector.tsx index 78474a9..bddbf2e 100644 --- a/src/features/cameras/components/CameraSettings/RegionSelector.tsx +++ b/src/features/cameras/components/CameraSettings/RegionSelector.tsx @@ -10,6 +10,8 @@ type RegionSelectorProps = { mode: string; onSelectMode: (mode: string) => void; paintedCells: RefObject>; + onAddRegion: () => void; + OnRemoveRegion: () => void; }; const RegionSelector = ({ @@ -20,16 +22,26 @@ const RegionSelector = ({ mode, onSelectMode, paintedCells, + onAddRegion, + OnRemoveRegion, }: RegionSelectorProps) => { const handleChange = (e: { target: { value: string } }) => { onSelectMode(e.target.value); }; + const handleAddClick = () => { + onAddRegion(); + }; + const handleResetClick = () => { const map = paintedCells.current; map.clear(); }; + const handleRemoveClick = () => { + OnRemoveRegion(); + }; + return (
@@ -102,6 +114,14 @@ const RegionSelector = ({ ); })} +
+ + +