2025-11-24 12:19:51 +00:00
|
|
|
import Card from "../../../../ui/Card";
|
2025-11-21 16:01:34 +00:00
|
|
|
import { Tab, Tabs, TabList, TabPanel } from "react-tabs";
|
|
|
|
|
import "react-tabs/style/react-tabs.css";
|
|
|
|
|
import RegionSelector from "./RegionSelector";
|
2025-11-24 12:19:51 +00:00
|
|
|
import type { Region } from "../../../../types/types";
|
|
|
|
|
import { useState } from "react";
|
2025-11-21 16:01:34 +00:00
|
|
|
|
|
|
|
|
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) => {
|
2025-11-24 12:19:51 +00:00
|
|
|
const [tabIndex, setTabIndex] = useState(0);
|
2025-11-21 16:01:34 +00:00
|
|
|
return (
|
2025-11-24 12:19:51 +00:00
|
|
|
<Card className="p-4 max-h-screen col-span-3">
|
|
|
|
|
<Tabs
|
|
|
|
|
selectedTabClassName="bg-gray-300 text-gray-900 font-semibold border-none rounded-sm mb-1"
|
|
|
|
|
className="react-tabs"
|
|
|
|
|
onSelect={(index) => setTabIndex(index)}
|
|
|
|
|
>
|
2025-11-21 16:01:34 +00:00
|
|
|
<TabList>
|
|
|
|
|
<Tab>Target Detection</Tab>
|
|
|
|
|
<Tab>Camera 1</Tab>
|
2025-11-24 12:19:51 +00:00
|
|
|
<Tab>Camera 2</Tab>
|
|
|
|
|
<Tab>Camera 3</Tab>
|
2025-11-21 16:01:34 +00:00
|
|
|
</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>
|
2025-11-24 12:19:51 +00:00
|
|
|
<div>Camera details {tabIndex}</div>
|
|
|
|
|
</TabPanel>
|
|
|
|
|
<TabPanel>
|
|
|
|
|
<div>Camera details {tabIndex}</div>
|
|
|
|
|
</TabPanel>
|
|
|
|
|
<TabPanel>
|
|
|
|
|
<div>Camera details {tabIndex}</div>
|
2025-11-21 16:01:34 +00:00
|
|
|
</TabPanel>
|
|
|
|
|
</Tabs>
|
|
|
|
|
</Card>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default CameraSettings;
|