From 240518c0fc8b5237557affe8e28b9b94ef46a081 Mon Sep 17 00:00:00 2001 From: Ashutosh Bishnoi Date: Sat, 6 Feb 2021 17:35:34 +0530 Subject: Maintenance screen working --- modern/src/settings/MaintenancesPage.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'modern/src/settings/MaintenancesPage.js') diff --git a/modern/src/settings/MaintenancesPage.js b/modern/src/settings/MaintenancesPage.js index 9cbf51a5..5e74e5a6 100644 --- a/modern/src/settings/MaintenancesPage.js +++ b/modern/src/settings/MaintenancesPage.js @@ -6,6 +6,10 @@ import t from '../common/localization'; import { useEffectAsync } from '../reactHelper'; import EditCollectionView from '../EditCollectionView'; +import positionAttributes from '../attributes/positionAttributes'; +import { formatDistance, formatSpeed } from '../common/formatter'; +import { useAttributePreference } from '../common/preferences'; + const useStyles = makeStyles(theme => ({ columnAction: { width: theme.spacing(1), @@ -17,6 +21,8 @@ const MaintenancesView = ({ updateTimestamp, onMenuClick }) => { const classes = useStyles(); const [items, setItems] = useState([]); + const speedUnit = useAttributePreference('speedUnit'); + const distanceUnit = useAttributePreference('distanceUnit'); useEffectAsync(async () => { const response = await fetch('/api/maintenance'); @@ -25,6 +31,22 @@ const MaintenancesView = ({ updateTimestamp, onMenuClick }) => { } }, [updateTimestamp]); + const convertAttribute = (key, value) => { + const attribute = positionAttributes[key]; + if (attribute && attribute.dataType) { + switch (attribute.dataType) { + case 'speed': + return formatSpeed(value, speedUnit); + case 'distance': + return formatDistance(value, distanceUnit); + default: + return value; + } + } + + return value; + } + return ( @@ -47,8 +69,8 @@ const MaintenancesView = ({ updateTimestamp, onMenuClick }) => { {item.name}{item.type} - {item.start} - {item.period} + {convertAttribute(item.type, item.start)} + {convertAttribute(item.type, item.period)} ))} -- cgit v1.2.3