From 9213ca77f18227273df4af0480bbef3d4949690f Mon Sep 17 00:00:00 2001 From: mindongmindong <dcmin123@ajou.ac.kr> Date: Fri, 1 Dec 2023 17:48:29 +0900 Subject: [PATCH] =?UTF-8?q?[EDIT]=EC=8B=9C=EA=B0=84=20=EB=B2=94=EC=9C=84?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/MeetingInfoForm.js | 6 ++- react-whenMeet/src/components/TimeInput.js | 43 +++++++------------ 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/react-whenMeet/src/components/MeetingInfoForm.js b/react-whenMeet/src/components/MeetingInfoForm.js index bf48ea3..ef63d4c 100644 --- a/react-whenMeet/src/components/MeetingInfoForm.js +++ b/react-whenMeet/src/components/MeetingInfoForm.js @@ -30,11 +30,11 @@ function MeetingInfoForm() { setEndVote(event.target.value); } const handleStartTimeChange = (selectedHour, selectedMinute) => { - setStartTime(`${selectedHour}:${selectedMinute}`); + setStartTime(`${selectedHour}:${selectedMinute}:00`); }; const handleEndTimeChange = (selectedHour, selectedMinute) => { - setEndTime(`${selectedHour}:${selectedMinute}`); + setEndTime(`${selectedHour}:${selectedMinute}:00`); }; @@ -59,6 +59,8 @@ function MeetingInfoForm() { transformedPurpose = 'ETC'; } try { + console.log(startTime); + console.log(endTime); const response = await axios.post("http://localhost:3000/meetings", { title: title, adminPassword: password, diff --git a/react-whenMeet/src/components/TimeInput.js b/react-whenMeet/src/components/TimeInput.js index de41263..a126852 100644 --- a/react-whenMeet/src/components/TimeInput.js +++ b/react-whenMeet/src/components/TimeInput.js @@ -1,38 +1,24 @@ import { useState } from "react"; -function TimeInput({onTimeChange}) { - const [hours, setHours] = useState("00"); - const [minutes, setMinutes] = useState("00"); - const handleHoursChange = (event) => { - setHours(event.target.value); - onTimeChange(event.target.value, minutes); - }; +function TimeInput({ onTimeChange }) { + const [time, setTime] = useState(""); - const handleMinutesChange = (event) => { - setMinutes(event.target.value); - onTimeChange(hours, event.target.value); + const handleTimeChange = (event) => { + setTime(event.target.value); // select의 value를 그대로 저장 + onTimeChange(event.target.value.slice(0, 2), event.target.value.slice(3)); }; - return ( <div> <label> - 시: - <select value={hours} onChange={handleHoursChange}> - {Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, "0")).map((hour) => ( - <option key={hour} value={hour}> - {hour} - </option> - ))} - </select> - </label> - - <label> - 분: - <select value={minutes} onChange={handleMinutesChange}> - {Array.from({ length: 60 }, (_, i) => i.toString().padStart(2, "0")).map((minute) => ( - <option key={minute} value={minute}> - {minute} + <select value={time} onChange={handleTimeChange}> + {Array.from({ length: 48 }, (_, i) => { + const paddedHour = Math.floor(i / 2).toString().padStart(2, "0"); + const paddedMinute = (i % 2 === 0 ? "00" : "30"); + return `${paddedHour}:${paddedMinute}`; + }).map((time) => ( + <option key={time} value={time}> + {time} </option> ))} </select> @@ -40,4 +26,5 @@ function TimeInput({onTimeChange}) { </div> ); } -export default TimeInput; \ No newline at end of file + +export default TimeInput; -- GitLab