Spaces:
Runtime error
Runtime error
| import {FormattedMessage} from 'react-intl'; | |
| import PropTypes from 'prop-types'; | |
| import React from 'react'; | |
| import classNames from 'classnames'; | |
| import Box from '../box/box.jsx'; | |
| import PeripheralTile from './peripheral-tile.jsx'; | |
| import Dots from './dots.jsx'; | |
| import radarIcon from './icons/searching.png'; | |
| import refreshIcon from './icons/refresh.svg'; | |
| import styles from './connection-modal.css'; | |
| const ScanningStep = props => ( | |
| <Box className={styles.body}> | |
| <Box className={styles.activityArea}> | |
| {props.scanning ? ( | |
| props.peripheralList.length === 0 ? ( | |
| <div className={styles.activityAreaInfo}> | |
| <div className={styles.centeredRow}> | |
| <img | |
| className={classNames(styles.radarSmall, styles.radarSpin)} | |
| src={radarIcon} | |
| /> | |
| <FormattedMessage | |
| defaultMessage="Looking for devices" | |
| description="Text shown while scanning for devices" | |
| id="gui.connection.scanning.lookingforperipherals" | |
| /> | |
| </div> | |
| </div> | |
| ) : ( | |
| <div className={styles.peripheralTilePane}> | |
| {props.peripheralList.map(peripheral => | |
| (<PeripheralTile | |
| connectionSmallIconURL={props.connectionSmallIconURL} | |
| key={peripheral.peripheralId} | |
| name={peripheral.name} | |
| peripheralId={peripheral.peripheralId} | |
| rssi={peripheral.rssi} | |
| onConnecting={props.onConnecting} | |
| />) | |
| )} | |
| </div> | |
| ) | |
| ) : ( | |
| <Box className={styles.instructions}> | |
| <FormattedMessage | |
| defaultMessage="No devices found" | |
| description="Text shown when no devices could be found" | |
| id="gui.connection.scanning.noPeripheralsFound" | |
| /> | |
| </Box> | |
| )} | |
| </Box> | |
| <Box className={styles.bottomArea}> | |
| <Box className={classNames(styles.bottomAreaItem, styles.instructions)}> | |
| <FormattedMessage | |
| defaultMessage="Select your device in the list above." | |
| description="Prompt for choosing a device to connect to" | |
| id="gui.connection.scanning.instructions" | |
| /> | |
| </Box> | |
| <Dots | |
| className={styles.bottomAreaItem} | |
| counter={0} | |
| total={3} | |
| /> | |
| <button | |
| className={classNames(styles.bottomAreaItem, styles.connectionButton)} | |
| onClick={props.onRefresh} | |
| > | |
| <FormattedMessage | |
| defaultMessage="Refresh" | |
| description="Button in prompt for starting a search" | |
| id="gui.connection.search" | |
| /> | |
| <img | |
| className={styles.buttonIconRight} | |
| src={refreshIcon} | |
| /> | |
| </button> | |
| </Box> | |
| </Box> | |
| ); | |
| ScanningStep.propTypes = { | |
| connectionSmallIconURL: PropTypes.string, | |
| onConnecting: PropTypes.func, | |
| onRefresh: PropTypes.func, | |
| peripheralList: PropTypes.arrayOf(PropTypes.shape({ | |
| name: PropTypes.string, | |
| rssi: PropTypes.number, | |
| peripheralId: PropTypes.string | |
| })), | |
| scanning: PropTypes.bool.isRequired | |
| }; | |
| ScanningStep.defaultProps = { | |
| peripheralList: [], | |
| scanning: true | |
| }; | |
| export default ScanningStep; | |