import { addYears, setYear } from 'date-fns'; import { useCallback, useContext, useState } from 'react'; import PanelHeader, { Title } from '../../components/PanelHeader'; import QuarterPanelBody from './QuarterBody'; import YearPanel from '../year-panel'; import usePanelDate from '../../hooks/usePanelDate'; import PickerContext from '../../context/PickerContext'; import { ISinglePanelProps } from '../../types'; const QuarterPickerPanel: React.FC< Omit > = props => { const { defaultPanelDate, onChangePanel, ...restProps } = props; const { i18n } = useContext(PickerContext); const { panelDate, setPanelDate } = usePanelDate(defaultPanelDate); const [showYear, setShowYear] = useState(false); const QuarterPanelNode = ( <> setShowYear(true)} /> } onPrev={() => setPanelDate(addYears(panelDate, -1))} onNext={() => setPanelDate(addYears(panelDate, 1))} /> ); const onClickYear = useCallback( val => { setPanelDate(setYear(panelDate, val.getFullYear())); setShowYear(false); }, [panelDate, setPanelDate] ); const YearPanelNode = ( ); return <>{!showYear ? QuarterPanelNode : YearPanelNode}; }; export default QuarterPickerPanel;