aboutsummaryrefslogtreecommitdiff
path: root/modern/src/map/StatusView.js
blob: 3a304263329843dbdc36ad7e5eef5d9ffac803cf (plain)
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
import t from '../common/localization'
import React from 'react';
import { useSelector } from 'react-redux';
import { formatPosition } from '../common/formatter';

const StatusView = ({ deviceId, onShowDetails }) => {
  const device = useSelector(state => state.devices.items[deviceId]);
  const position = useSelector(state => state.positions.items[deviceId]);

  const handleClick = e => {
    e.preventDefault();
    onShowDetails(position.id);
  };

  return (
    <>
      <b>{t('deviceStatus')}:</b> {formatPosition(device.status, 'status')}<br />
      <b>{t('sharedLocation')}:</b> {formatPosition(position, 'latitude')} {formatPosition(position, 'longitude')}<br />
      <b>{t('positionSpeed')}:</b> {formatPosition(position.speed, 'speed')}<br />
      <b>{t('positionCourse')}:</b> {formatPosition(position.course, 'course')}<br />
      <b>{t('positionDistance')}:</b> {formatPosition(position.attributes.totalDistance, 'distance')}<br />
      {position.attributes.batteryLevel &&
        <><b>{t('positionBattery')}:</b> {formatPosition(position.attributes.batteryLevel, 'batteryLevel')}<br /></>
      }
      <a href="#" onClick={handleClick}>{t('sharedShowDetails')}</a>
    </>
  );
};

export default StatusView;