From 51a49e116591669115be5faf4186b4eee10f58e0 Mon Sep 17 00:00:00 2001 From: Astrian Zheng Date: Wed, 19 Feb 2025 21:00:08 +1100 Subject: [PATCH] feat: implement year/month selection in SingleDatePicker with updated styling --- src/components/SingleDatePicker.tsx | 36 ++++++++++++++++++++++++----- src/style.scss | 29 ++++++++++++++++++++--- 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/components/SingleDatePicker.tsx b/src/components/SingleDatePicker.tsx index 2b8dae0..f5ac87d 100644 --- a/src/components/SingleDatePicker.tsx +++ b/src/components/SingleDatePicker.tsx @@ -31,6 +31,7 @@ export default ({ value, onSelect }: Props) => { const [dates, setDates] = useState([]) const userLang = navigator.language const l10nDays = getL10Weekday(userLang) + const [selectMonth, setSelectMonth] = useState(true) useEffect(() => { setDates(getCalendarDates(currentMonth, currentYear)) @@ -69,16 +70,39 @@ export default ({ value, onSelect }: Props) => { else setCurrentMonth(currentMonth + 1) } - return (
+ if (selectMonth) return (
- - + setCurrentYear(parseInt(e.target.value))} + /> + +
+
+ {Array.from({ length: 12 }).map((_, index) => )} +
+
) + else return (
+
+ + - +
-
- +
{l10nDays.map((day, index) =>
{day}
)} {dates.map(date =>