2025-11-21 16:01:34 +00:00
|
|
|
import Card from "../../../ui/Card";
|
|
|
|
|
import { Tab, Tabs, TabList, TabPanel } from "react-tabs";
|
|
|
|
|
import "react-tabs/style/react-tabs.css";
|
|
|
|
|
import RegionSelector from "./RegionSelector";
|
|
|
|
|
import type { Region } from "../../../types/types";
|
|
|
|
|
|
|
|
|
|
type CameraSettingsProps = {
|
|
|
|
|
regions: Region[];
|
|
|
|
|
selectedRegionIndex: number;
|
|
|
|
|
onSelectRegion: (index: number) => void;
|
|
|
|
|
onChangeRegionColour: (index: number, colour: string) => void;
|
2025-11-23 22:36:08 +00:00
|
|
|
isErasing: boolean;
|
|
|
|
|
onSelectErasing: (isErasing: boolean) => void;
|
2025-11-21 16:01:34 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const CameraSettings = ({
|
|
|
|
|
regions,
|
|
|
|
|
selectedRegionIndex,
|
|
|
|
|
onSelectRegion,
|
|
|
|
|
onChangeRegionColour,
|
2025-11-23 22:36:08 +00:00
|
|
|
isErasing,
|
|
|
|
|
onSelectErasing,
|
2025-11-21 16:01:34 +00:00
|
|
|
}: CameraSettingsProps) => {
|
|
|
|
|
return (
|
2025-11-23 22:36:08 +00:00
|
|
|
<Card className="p-4 min-h-screen w-[80%] place-self-end">
|
2025-11-21 16:01:34 +00:00
|
|
|
<Tabs selectedTabClassName="bg-gray-300 text-gray-900 font-semibold border-none rounded-sm">
|
|
|
|
|
<TabList>
|
|
|
|
|
<Tab>Target Detection</Tab>
|
|
|
|
|
<Tab>Camera 1</Tab>
|
|
|
|
|
</TabList>
|
|
|
|
|
<TabPanel>
|
|
|
|
|
<RegionSelector
|
|
|
|
|
regions={regions}
|
|
|
|
|
selectedRegionIndex={selectedRegionIndex}
|
|
|
|
|
onSelectRegion={onSelectRegion}
|
|
|
|
|
onChangeRegionColour={onChangeRegionColour}
|
2025-11-23 22:36:08 +00:00
|
|
|
isErasing={isErasing}
|
|
|
|
|
onSelectErasing={onSelectErasing}
|
2025-11-21 16:01:34 +00:00
|
|
|
/>
|
|
|
|
|
</TabPanel>
|
|
|
|
|
<TabPanel>
|
|
|
|
|
<div>Camera details</div>
|
|
|
|
|
</TabPanel>
|
|
|
|
|
</Tabs>
|
|
|
|
|
</Card>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default CameraSettings;
|