// src/pages/DevicePage.tsx - Device config page import { useEffect, useState } from 'react'; import { useDeviceStore } from '../stores/deviceStore'; import type { DeviceFormValues } from '../types'; export function DevicePage() { const { config, loading, error, fetchDevice, updateDevice } = useDeviceStore(); const [form, setForm] = useState({ type: 0, sn: 0, name: '', unit: 1, room: 101, keypad: 1 }); useEffect(() => { fetchDevice(); }, [fetchDevice]); useEffect(() => { if (config) { setForm({ type: config.type, sn: config.sn, name: config.name, unit: config.unit, room: config.room, keypad: config.keypad ?? 1 }); } }, [config]); const handleChange = (field: keyof DeviceFormValues, value: string | number) => { setForm({ ...form, [field]: value }); }; const handleSave = async () => { await updateDevice(form); }; return (

Device Configuration

{error &&
{error}
}
handleChange('type', Number(e.target.value))} min="0" />
handleChange('sn', Number(e.target.value))} min="0" />
handleChange('name', e.target.value)} />
handleChange('unit', Number(e.target.value))} min="1" />
handleChange('room', Number(e.target.value))} />
handleChange('keypad', Number(e.target.value))} min="1" />
); }