Select Git revision
recruitDetail.js
recruitDetail.js 8.19 KiB
import React, { useState, useContext } from "react";
import recruitDetailStyles from './recruitDetail.module.css';
import Comment from './comment';
import MyScheduleApp from '../calendar/calendar';
import { AuthContext } from '../../App';
import ModifyRecruit from "./modifyRecruit";
import DeleteRecruit from "./deleteRecruit";
import StateRecruit from "./stateRecruit";
const RecruitDetail = ({ isOpen, onClose, data }) => {
const [isCalendarVisible, setIsCalendarVisible] = useState(false);
const [isModifyOpen, setIsModifyOpen] = useState(false);
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
const [isStateOpen, setIsStateOpen] = useState(false);
const { userData } = useContext(AuthContext);
let state = '';
if(data.state === 'Recruiting'){
state = '모집중';
} else if(data.state === 'Closed'){
state = '모집완료';
} else if(data.state === 'Completed'){
state = '활동종료';
}
const handleModifyOpen = (e) => {
e.stopPropagation();
setIsModifyOpen(true);
}
const handleDeleteOpen = (e) => {
e.stopPropagation();
setIsDeleteOpen(true);
}
const handleStateOpen = (e) => {
e.stopPropagation();
setIsStateOpen(true);
}
const handleModifyClose = () => {
setIsModifyOpen(false);
}
const handleDeleteClose = () => {
setIsDeleteOpen(false);
}
const handleStateClose = () => {
setIsStateOpen(false);
}
const handleClick = () => {
setIsCalendarVisible(!isCalendarVisible); // 클릭할 때마다 가시성을 토글
};
const applyInfo = async ()=>{
try{
const response = await fetch(`/api/recruits/${data.id}`,{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
});
if (response.ok){
alert('신청되었습니다.');
window.location.reload();
}else{