diff options
Diffstat (limited to 'modern/src/common/components')
-rw-r--r-- | modern/src/common/components/DriverValue.js | 9 | ||||
-rw-r--r-- | modern/src/common/components/PositionValue.jsx | 16 | ||||
-rw-r--r-- | modern/src/common/components/StatusCard.jsx | 2 |
3 files changed, 21 insertions, 6 deletions
diff --git a/modern/src/common/components/DriverValue.js b/modern/src/common/components/DriverValue.js new file mode 100644 index 00000000..0969ca20 --- /dev/null +++ b/modern/src/common/components/DriverValue.js @@ -0,0 +1,9 @@ +import { useSelector } from 'react-redux'; + +const DriverValue = ({ driverUniqueId }) => { + const driver = useSelector((state) => state.drivers.items[driverUniqueId]); + + return driver.name; +}; + +export default DriverValue; diff --git a/modern/src/common/components/PositionValue.jsx b/modern/src/common/components/PositionValue.jsx index 64f9dc04..b1f8f656 100644 --- a/modern/src/common/components/PositionValue.jsx +++ b/modern/src/common/components/PositionValue.jsx @@ -25,6 +25,7 @@ import { useTranslation } from './LocalizationProvider'; import { useAdministrator } from '../util/permissions'; import AddressValue from './AddressValue'; import GeofencesValue from './GeofencesValue'; +import DriverValue from './DriverValue'; const PositionValue = ({ position, property, attribute }) => { const t = useTranslation(); @@ -97,26 +98,31 @@ const PositionValue = ({ position, property, attribute }) => { case 'image': case 'video': case 'audio': - return (<Link href={`/api/media/${device.uniqueId}/${value}`} target="_blank">{value}</Link>); + return <Link href={`/api/media/${device.uniqueId}/${value}`} target="_blank">{value}</Link>; case 'totalDistance': case 'hours': return ( <> {formatValue(value)} - {admin && (<Link component={RouterLink} underline="none" to={`/settings/accumulators/${position.deviceId}`}>⚙</Link>)} + {admin && <Link component={RouterLink} underline="none" to={`/settings/accumulators/${position.deviceId}`}>⚙</Link>} </> ); case 'address': - return (<AddressValue latitude={position.latitude} longitude={position.longitude} originalAddress={value} />); + return <AddressValue latitude={position.latitude} longitude={position.longitude} originalAddress={value} />; case 'network': if (value) { - return (<Link component={RouterLink} underline="none" to={`/network/${position.id}`}>{t('sharedInfoTitle')}</Link>); + return <Link component={RouterLink} underline="none" to={`/network/${position.id}`}>{t('sharedInfoTitle')}</Link>; } return ''; case 'geofenceIds': if (value) { - return (<GeofencesValue geofenceIds={value} />); + return <GeofencesValue geofenceIds={value} />; + } + return ''; + case 'driverUniqueId': + if (value) { + return <DriverValue driverUniqueId={value} />; } return ''; default: diff --git a/modern/src/common/components/StatusCard.jsx b/modern/src/common/components/StatusCard.jsx index 38de944b..04e1d172 100644 --- a/modern/src/common/components/StatusCard.jsx +++ b/modern/src/common/components/StatusCard.jsx @@ -211,7 +211,7 @@ const StatusCard = ({ deviceId, position, onClose, disableActions, desktopPaddin {positionItems.split(',').filter((key) => position.hasOwnProperty(key) || position.attributes.hasOwnProperty(key)).map((key) => ( <StatusRow key={key} - name={positionAttributes.hasOwnProperty(key) ? positionAttributes[key].name : key} + name={positionAttributes[key]?.name || key} content={( <PositionValue position={position} |