Skip to content
Snippets Groups Projects
Select Git revision
  • 2225dc63bad7ea6173b6420c1214f36a1b694bb9
  • main default protected
  • gaeon
3 results

createRecruit.js

Blame
  • 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);
            }
        };