refactor: streamline camera form handling and update types for better consistency

This commit is contained in:
2026-02-08 14:58:33 +07:00
parent d619534a73
commit 4af34eab3e
4 changed files with 38 additions and 84 deletions

View File

@@ -24,10 +24,7 @@ const RECORDING_MODES = [
interface CameraV6Props {
thing: MasterModel.Thing | null;
cameraConfig?: MasterModel.CameraV6 | null;
onSubmit?: (config: {
recordingMode: MasterModel.CameraV6['record_type'];
selectedAlerts: string[];
}) => void;
onSubmit?: (config: MasterModel.CameraV6) => void;
isOnline?: boolean;
}
@@ -41,7 +38,7 @@ const CameraV6: React.FC<CameraV6Props> = ({
const { initialState } = useModel('@@initialState');
const [selectedAlerts, setSelectedAlerts] = useState<string[]>([]);
const [recordingMode, setRecordingMode] =
useState<MasterModel.CameraV6['record_type']>('none');
useState<MasterModel.CameraRecordType>('none');
const [alarmConfig, setAlarmConfig] = useState<MasterModel.Alarm[] | null>(
null,
);
@@ -115,8 +112,9 @@ const CameraV6: React.FC<CameraV6Props> = ({
const handleSubmitConfig = () => {
onSubmit?.({
recordingMode,
selectedAlerts,
...cameraConfig,
record_type: recordingMode,
record_alarm_list: recordingMode === 'alarm' ? selectedAlerts : [],
});
};