diff --git a/src/components/CreateMeetingModal.jsx b/src/components/CreateMeetingModal.jsx index d24db87127c7661818e0090c30224671e042cf1d..2a1e76bb4e554a9358000b36677f7444e3ab1496 100644 --- a/src/components/CreateMeetingModal.jsx +++ b/src/components/CreateMeetingModal.jsx @@ -5,7 +5,7 @@ import { createMeeting } from "../api/meeting"; import { convertTimeToIndex } from "../utils/time"; import { days } from "../constants/schedule"; -const CreateMeetingModal = ({ isOpen, onClose }) => { +const CreateMeetingModal = ({ isOpen, onClose, onMeetingCreated }) => { const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [location, setLocation] = useState(""); @@ -51,13 +51,14 @@ const CreateMeetingModal = ({ isOpen, onClose }) => { time_idx_start, time_idx_end, time_idx_deadline, - type: "OPEN", // 기본값 + type: "OPEN", max_num: parseInt(maxNum), }; await createMeeting(meetingData); alert("모임이 성공적으로 생성되었습니다!"); - onClose(); + onMeetingCreated(); // 모임 생성 후 상태 동기화 + onClose(); // 모달 닫기 } catch (error) { console.error("Failed to create meeting:", error); alert("모임 생성에 실패했습니다."); diff --git a/src/pages/MeetingPage.jsx b/src/pages/MeetingPage.jsx index d5655d52dfece235b064ea798e9a2cc04c72e0b3..2ec5b9a44ba35400973482be55acbe55a3d35118 100644 --- a/src/pages/MeetingPage.jsx +++ b/src/pages/MeetingPage.jsx @@ -298,7 +298,14 @@ const MeetingPage = () => { <CreateMeetingModal isOpen={showCreateModal} onClose={() => setShowCreateModal(false)} + onMeetingCreated={async () => { + const updatedData = await getAllMeetings(0, meetingPage * 20); + setMeetings(updatedData.content); + const updatedMyData = await getMyMeetings(0, myMeetingPage * 20); + setMyMeetings(updatedMyData.content); + }} /> + <MeetingDetailModal isOpen={showDetailModal} onClose={() => setShowDetailModal(false)}