import { useT } from 'contexts'; import React, { useState } from 'react'; import { Header, Row, Content, Action, PreferencesWrapper, Section } from 'components/Layout/Settings'; import { Checkbox, Dropdown, Radio } from 'components/Form/Settings'; import googleFonts from 'config/googleFonts.json'; import { MdRefresh, MdPalette } from 'react-icons/md'; const TimeOptions = ({ currentSubSection, onSubSectionChange, sectionName }) => { const t = useT(); const [timeType, setTimeType] = useState(localStorage.getItem('timeType') || 'digital'); const [hourColour, setHourColour] = useState(localStorage.getItem('hourColour') || '#ffffff'); const [minuteColour, setMinuteColour] = useState( localStorage.getItem('minuteColour') || '#ffffff', ); const [secondColour, setSecondColour] = useState( localStorage.getItem('secondColour') || '#ffffff', ); const [clockColor, setClockColor] = useState(localStorage.getItem('clockColor') || '#ffffff'); 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: t(`${TIME_SECTION}.digital.title`) }, { value: 'analogue', text: t(`${TIME_SECTION}.analogue.title`) }, { value: 'percentageComplete', text: t(`${TIME_SECTION}.percentage_complete`), }, { value: 'verticalClock', text: t(`${TIME_SECTION}.vertical_clock.title`), }, ]} /> ); }; const digitalSettings = ( ); const analogSettings = ( ); const verticalClock = ( <>
updateColour('hourColour', event)} value={hourColour} >
localStorage.setItem('hourColour', '#ffffff')}> {t('modals.main.settings.buttons.reset')}
updateColour('minuteColour', event)} value={minuteColour} >
localStorage.setItem('minuteColour', '#ffffff')}> {t('modals.main.settings.buttons.reset')}
updateColour('secondColour', event)} value={secondColour} >
localStorage.setItem('secondColour', '#ffffff')}> {t('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; } }; const AppearanceSection = () => { const fontWeight = `${TIME_SECTION}.appearance.font_weight`; const updateClockColor = (event) => { const color = event.target.value; setClockColor(color); localStorage.setItem('clockColor', color); }; return ( <> ({ value: font, text: font, }))} />
{ localStorage.setItem('clockColor', '#ffffff'); setClockColor('#ffffff'); }} > {t('modals.main.settings.buttons.reset')}
); }; const isAppearanceSection = currentSubSection === 'appearance'; let header; if (isAppearanceSection) { header = (
onSubSectionChange(null, sectionName)} report={false} /> ); } else { header = (
); } return ( <> {header} {isAppearanceSection ? ( ) : (
onSubSectionChange('appearance', sectionName)} icon={} /> {getTimeSettings()} )} ); }; export { TimeOptions as default, TimeOptions };