// frontend/src/modals/devices/EditLoggingModal.jsx import { useState } from 'react' import Modal from '@/components/ui/Modal' import Button from '@/components/ui/Button' import FormField from '@/components/ui/FormField' import api from '@/lib/api' const LOG_LEVELS = [ { value: '0', label: '(0) Disabled' }, { value: '1', label: '(1) Error' }, { value: '2', label: '(2) Warning' }, { value: '3', label: '(3) Info' }, { value: '4', label: '(4) Debug' }, { value: '5', label: '(5) Verbose' }, ] export default function EditLoggingModal({ open, onClose, onSaved, attr, id }) { const [serialLevel, setSerialLevel] = useState(String(attr?.serialLogLevel ?? 0)) const [sdLevel, setSdLevel] = useState(String(attr?.sdLogLevel ?? 0)) const [mqttLevel, setMqttLevel] = useState(String(attr?.mqttLogLevel ?? 0)) const [saving, setSaving] = useState(false) const [error, setError] = useState('') const handleSave = async () => { setSaving(true) setError('') try { await api.put(`/devices/${id}`, { device_attributes: { serialLogLevel: Number(serialLevel), sdLogLevel: Number(sdLevel), mqttLogLevel: Number(mqttLevel), }, }) await onSaved() onClose() } catch (err) { setError(err.message || 'Failed to save.') } finally { setSaving(false) } } return ( } >
setSerialLevel(e.target.value)} > {LOG_LEVELS.map((l) => ( ))} setSdLevel(e.target.value)} > {LOG_LEVELS.map((l) => ( ))} setMqttLevel(e.target.value)} > {LOG_LEVELS.map((l) => ( ))} {error && (

{error}

)}
) }