import type React from 'react'; import { useEffect, useState } from 'react'; import { useForm } from 'react-hook-form'; import { Checkbox } from '@components/generic/form/Checkbox'; import { Form } from '@components/generic/form/Form'; import { Input } from '@components/generic/form/Input'; import { Select } from '@components/generic/form/Select'; import { connection } from '@core/connection'; import { useAppSelector } from '@hooks/useAppSelector'; import { Protobuf } from '@meshtastic/meshtasticjs'; export const Power = (): JSX.Element => { const powerConfig = useAppSelector( (state) => state.meshtastic.radio.config.power, ); const deviceConfig = useAppSelector( (state) => state.meshtastic.radio.config.device, ); const [loading, setLoading] = useState(false); const { register, handleSubmit, formState, reset } = useForm({ defaultValues: powerConfig, // defaultValues: { // ...preferences, // isLowPower: // preferences.role === Protobuf.Role.Router // ? true // : preferences.isLowPower, // }, }); useEffect(() => { reset(powerConfig); }, [reset, powerConfig]); const onSubmit = handleSubmit((data) => { setLoading(true); void connection.setConfig( { payloadVariant: { oneofKind: 'power', power: data, }, }, async () => { reset({ ...data }); setLoading(false); await Promise.resolve(); }, ); }); return (
); };