import { Component, ParentComponent, createMemo } from 'solid-js'; import { BoardInfo } from '../../models/board-info.model'; type ItemProps = { label: string; }; const Item: ParentComponent = (props) => { return (
{props.label}
{props.children}
); }; export const BoardInfoPanel: Component<{ board: BoardInfo }> = (props) => { const ttl = createMemo(() => { if (props.board.connect_status !== 'Connected') { return '--'; } if (props.board.ttl == null) { return 'timeout'; } return ( <> {props.board.ttl.toFixed(0)} ms ); }); const connectStatus = createMemo(() => { if (typeof props.board.connect_status === 'string') { return props.board.connect_status; } if ('Connecting' in props.board.connect_status) { return `Connecting (${props.board.connect_status.Connecting.toFixed(0)})`; } }); return (
{props.board.fullname} {props.board.host} {props.board.address} {props.board.port} {connectStatus()} {ttl()}
); };