Select Git revision
createRecruit.js
createRecruit.js 15.52 KiB
import React, { useState } from "react";
import createRecruitStyles from './createRecruit.module.css';
function CreateRecruit({ isOpen, onClose }){
const [formData, setFormData] = useState({
data: {
title: '',
content: '',
owner: '',
regionFirst: '',
regionSecond: '',
peopleNum: '',
startDate: '',
endDate: '',
timeCategory: '',
startTime: null,
endTime: null,
},
image: null
});
const [timeData, setTimeData] = useState({
startHour: null,
startMinute: null,
endHour: null,
endMinute: null
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData((prevData) => ({
...prevData,
data: {
...prevData.data,
[name]: value,
},
}));
};
const handleImageChange = (e) => {
const imageFile = e.target.files[0];
setFormData((prevDate) => ({
...prevDate,
image: imageFile
}));
};
const handleTimeChange = (e) => {
const { name, value } = e.target;
setTimeData((prevData) => ({
...prevData,
[name]: value,
}));
};
const handleSave = (e) => {
e.preventDefault()
if(formData.data.timeCategory === "D"){
handleSubmit({
...formData,
data: {
...formData.data,
startTime: `${timeData.startHour || '00'}:${timeData.startMinute || '00'}`,
endTime: `${timeData.endHour || '00'}:${timeData.endMinute || '00'}`,
}
});
}else{
handleSubmit(formData);
}
};