Enforce a minimum and maximum date for the picker
This commit is contained in:
parent
90e81dbf5b
commit
4f4e51691c
@ -9,17 +9,30 @@ import {
|
|||||||
Textarea,
|
Textarea,
|
||||||
useToast,
|
useToast,
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import { useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import Success from "../../components/Success.js";
|
import Success from "../../components/Success.js";
|
||||||
|
|
||||||
export default function () {
|
export default function () {
|
||||||
const toast = useToast();
|
const toast = useToast();
|
||||||
|
const currentDate = new Date();
|
||||||
|
const currentMonth = currentDate.getUTCMonth() + 1;
|
||||||
|
const currentYear = currentDate.getUTCFullYear();
|
||||||
|
const [datePickerMax, setDatePickerMax] = useState("");
|
||||||
|
const [datePickerMin, setDatePickerMin] = useState("");
|
||||||
const [eventDay, setEventDay] = useState("0");
|
const [eventDay, setEventDay] = useState("0");
|
||||||
const [eventDetails, setEventDetails] = useState("");
|
const [eventDetails, setEventDetails] = useState("");
|
||||||
const [eventType, setEventType] = useState("");
|
const [eventType, setEventType] = useState("");
|
||||||
const [riddleAnswer, setRiddleAnswer] = useState("");
|
const [riddleAnswer, setRiddleAnswer] = useState("");
|
||||||
const [submitSuccess, setSubmitSuccess] = useState(false);
|
const [submitSuccess, setSubmitSuccess] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
currentDate.setUTCDate(0);
|
||||||
|
setDatePickerMin(`${currentYear}-${currentMonth}-01`);
|
||||||
|
setDatePickerMax(
|
||||||
|
`${currentYear}-${currentMonth}-${currentDate.getUTCDate()}`,
|
||||||
|
);
|
||||||
|
}, []);
|
||||||
|
|
||||||
async function submit() {
|
async function submit() {
|
||||||
let eventResp: Response;
|
let eventResp: Response;
|
||||||
|
|
||||||
@ -91,6 +104,8 @@ export default function () {
|
|||||||
Event Date
|
Event Date
|
||||||
</Heading>
|
</Heading>
|
||||||
<input
|
<input
|
||||||
|
max={datePickerMax}
|
||||||
|
min={datePickerMin}
|
||||||
onChange={(e) => setEventDay(e.target.value.split("-")[2])}
|
onChange={(e) => setEventDay(e.target.value.split("-")[2])}
|
||||||
type="date"
|
type="date"
|
||||||
/>
|
/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user