import variables from 'config/variables'; import React, { useState } from 'react'; import { Header, Row, Content, Action, PreferencesWrapper } from 'components/Layout/Settings'; import { Checkbox, Dropdown, Radio } from 'components/Form/Settings'; import { MdRefresh } from 'react-icons/md'; import defaults from './default'; const TimeOptions = () => { const [timeType, setTimeType] = useState(localStorage.getItem('timeType') || defaults.time.timeType); const [hourColour, setHourColour] = useState(localStorage.getItem('hourColour') || defaults.time.hourColour); const [minuteColour, setMinuteColour] = useState( localStorage.getItem('minuteColour') || defaults.time.minuteColour, ); const [secondColour, setSecondColour] = useState( localStorage.getItem('secondColour') || defaults.time.secondColour, ); const TIME_SECTION = 'modals.main.settings.sections.time'; const updateColour = (type, event) => { const colour = event.target.value; if (type === 'hourColour') { setHourColour(colour); } else if (type === 'minuteColour') { setMinuteColour(colour); } else if (type === 'secondColour') { setSecondColour(colour); } localStorage.setItem(type, colour); }; const WidgetType = () => { return ( setTimeType(value)} category="clock" items={[ { value: 'digital', text: variables.getMessage(`${TIME_SECTION}.digital.title`) }, { value: 'analogue', text: variables.getMessage(`${TIME_SECTION}.analogue.title`) }, { value: 'percentageComplete', text: variables.getMessage(`${TIME_SECTION}.percentage_complete`), }, { value: 'verticalClock', text: variables.getMessage(`${TIME_SECTION}.vertical_clock.title`), }, ]} /> ); }; const digitalSettings = ( ); const analogSettings = ( ); const verticalClock = ( <> updateColour('hourColour', event)} value={hourColour} > {hourColour} localStorage.setItem('hourColour', '#ffffff')}> {variables.getMessage('modals.main.settings.buttons.reset')} updateColour('minuteColour', event)} value={minuteColour} > {minuteColour} localStorage.setItem('minuteColour', '#ffffff')}> {variables.getMessage('modals.main.settings.buttons.reset')} updateColour('secondColour', event)} value={secondColour} > {secondColour} localStorage.setItem('secondColour', '#ffffff')}> {variables.getMessage('modals.main.settings.buttons.reset')} {digitalSettings} > ); const getTimeSettings = () => { switch (timeType) { case 'digital': return digitalSettings; case 'analogue': return analogSettings; case 'verticalClock': return verticalClock; default: return null; } }; return ( <> {getTimeSettings()} > ); }; export { TimeOptions as default, TimeOptions };