aboutsummaryrefslogtreecommitdiff
path: root/modern/src/settings/MaintenancePage.js
diff options
context:
space:
mode:
authorAshutosh Bishnoi <mail2bishnoi@gmail.com>2021-02-06 17:35:34 +0530
committerAshutosh Bishnoi <mail2bishnoi@gmail.com>2021-02-06 17:35:34 +0530
commit240518c0fc8b5237557affe8e28b9b94ef46a081 (patch)
tree76d4f970d796ec348934a071fb289721fdfa5859 /modern/src/settings/MaintenancePage.js
parent4dbe654290c3d1f6051ea9650549f7c254d321b4 (diff)
downloadtrackermap-web-240518c0fc8b5237557affe8e28b9b94ef46a081.tar.gz
trackermap-web-240518c0fc8b5237557affe8e28b9b94ef46a081.tar.bz2
trackermap-web-240518c0fc8b5237557affe8e28b9b94ef46a081.zip
Maintenance screen working
Diffstat (limited to 'modern/src/settings/MaintenancePage.js')
-rw-r--r--modern/src/settings/MaintenancePage.js37
1 files changed, 31 insertions, 6 deletions
diff --git a/modern/src/settings/MaintenancePage.js b/modern/src/settings/MaintenancePage.js
index 8c4cdf40..9c274598 100644
--- a/modern/src/settings/MaintenancePage.js
+++ b/modern/src/settings/MaintenancePage.js
@@ -1,11 +1,12 @@
import React, { useState } from 'react';
-
import t from '../common/localization';
import EditItemView from '../EditItemView';
import { Accordion, AccordionSummary, AccordionDetails, makeStyles, Typography, TextField, FormControl, InputLabel, MenuItem, Select, } from '@material-ui/core';
+import InputAdornment from '@material-ui/core/InputAdornment';
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
import EditAttributesView from '../attributes/EditAttributesView';
import positionAttributes from '../attributes/positionAttributes';
+import { useAttributePreference } from '../common/preferences';
const useStyles = makeStyles(() => ({
details: {
@@ -14,22 +15,40 @@ const useStyles = makeStyles(() => ({
}));
const MaintenancePage = () => {
+
const classes = useStyles();
-
const [item, setItem] = useState();
+ const [labels, setLabels] = useState({start: '', period: ''});
+
+ const speedUnit = useAttributePreference('speedUnit');
+ const distanceUnit = useAttributePreference('distanceUnit');
const options = [];
Object.entries(positionAttributes).map(([key, value]) => {
if (value.type === 'number') {
- options.push({ key, name: value.name, type: value.type })
+ options.push({key, name: value.name, type: value.type})
}
});
const handleChange = event => {
const newValue = event.target.value;
setItem({...item, type: newValue});
- }
+
+ const attribute = positionAttributes[newValue];
+ if (attribute && attribute.dataType) {
+ switch (attribute.dataType) {
+ case 'distance':
+ setLabels({ ...labels, start: distanceUnit, period: distanceUnit});
+ break;
+ case 'speed':
+ setLabels({ ...labels, start: speedUnit, period: speedUnit});
+ break;
+ default:
+ break;
+ }
+ }
+ }
return (
<EditItemView endpoint="maintenance" item={item} setItem={setItem}>
@@ -64,14 +83,20 @@ const MaintenancePage = () => {
value={item.start || ''}
onChange={event => setItem({...item, start: event.target.value})}
label={t('maintenanceStart')}
- variant="filled" />
+ variant="filled"
+ InputProps={{
+ endAdornment: <InputAdornment position="start">{labels.start}</InputAdornment>,
+ }} />
<TextField
margin="normal"
type="number"
value={item.period || ''}
onChange={event => setItem({...item, period: event.target.value})}
label={t('maintenancePeriod')}
- variant="filled" />
+ variant="filled"
+ InputProps={{
+ endAdornment: <InputAdornment position="start">{labels.period}</InputAdornment>,
+ }} />
</AccordionDetails>
</Accordion>
<Accordion>