All files / sportident-testbench-client/src MainStationList.tsx

0% Statements 0/8
0% Branches 0/4
0% Functions 0/4
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import React from 'react';
import {ISiDevice, ISiDeviceDriverData} from 'sportident/lib/SiDevice/ISiDevice';
 
export const MainStationList = (
    props: {
        devices: ISiDevice<ISiDeviceDriverData<unknown>>[],
        selectedDevice: ISiDevice<ISiDeviceDriverData<unknown>>|undefined,
        addNewDevice: () => void,
    },
): React.ReactElement => (
    <div>
        <div id='si-device-list'>
            {props.devices.map((device) => {
                const isSelected = device.ident === (props.selectedDevice && props.selectedDevice.ident);
                return (
                    <div
                        onClick={() => {
                            window.location.hash = `#${device.ident}`;
                        }}
                        className={`si-device-list-item${isSelected ? ' selected' : ''}`}
                        key={device.ident}
                    >
                        {device.name}
                    </div>
                );
            })}
        </div>
        <button
            id='si-device-add'
            onClick={() => props.addNewDevice()}
        >
            {'New SI Main Station'}
        </button>
    </div>
);