import React from 'react'; import { useForm } from 'react-hook-form'; import { FiCheck } from 'react-icons/fi'; import { serial, setConnection } from '@core/connection'; import { connType, setConnectionParams } from '@core/slices/appSlice'; import { useAppDispatch } from '@hooks/useAppDispatch'; import { Button, IconButton } from '@meshtastic/components'; export const Serial = (): JSX.Element => { const [serialDevices, setSerialDevices] = React.useState([]); const dispatch = useAppDispatch(); const { handleSubmit } = useForm<{ device?: SerialPort; }>(); const updateSerialDeviceList = React.useCallback(async (): Promise => { const devices = await serial.getPorts(); setSerialDevices(devices); }, []); React.useEffect(() => { void updateSerialDeviceList(); }, [updateSerialDeviceList]); const onSubmit = handleSubmit(async () => { await setConnection(connType.SERIAL); }); return (
{serialDevices.length > 0 ? ( serialDevices.map((device, index) => (

Vendor: {device.getInfo().usbVendorId}

Device: {device.getInfo().usbProductId}

=> { dispatch( setConnectionParams({ type: connType.SERIAL, params: { port: device, }, }), ); await setConnection(connType.SERIAL); }} icon={} />
)) ) : (

No previously connected devices found

)}
); };