import React from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { FiCode, FiMenu, FiSave, FiXCircle } from 'react-icons/fi'; import JSONPretty from 'react-json-pretty'; import { Card } from '@app/components/generic/Card'; import { Cover } from '@app/components/generic/Cover.jsx'; import { Checkbox } from '@app/components/generic/form/Checkbox'; import { Select } from '@app/components/generic/form/Select.jsx'; import { IconButton } from '@app/components/generic/IconButton.jsx'; import { connection } from '@app/core/connection'; import { useAppSelector } from '@app/hooks/redux'; import { Button } from '@components/generic/Button'; import { Input } from '@components/generic/form/Input'; import { PrimaryTemplate } from '@components/templates/PrimaryTemplate'; import { Protobuf } from '@meshtastic/meshtasticjs'; export interface RadioProps { navOpen?: boolean; setNavOpen?: React.Dispatch>; } export const Radio = ({ navOpen, setNavOpen }: RadioProps): JSX.Element => { const { t } = useTranslation(); const radioConfig = useAppSelector((state) => state.meshtastic.preferences); const [debug, setDebug] = React.useState(false); const { register, handleSubmit, formState, reset } = useForm({ defaultValues: radioConfig, }); const onSubmit = handleSubmit((data) => { void connection.setPreferences(data); }); return ( } onClick={(): void => { setNavOpen && setNavOpen(!navOpen); }} /> } footer={
} disabled={formState.isDirty} onClick={(): void => { reset(); }} />
} > { setDebug(!debug); }} icon={} > Debug } > } />
WiFi
Position
); };