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 10804f212cb91596d556eb1e4eadc2abb5cf56b4..2ec5b9a44ba35400973482be55acbe55a3d35118 100644 --- a/src/pages/MeetingPage.jsx +++ b/src/pages/MeetingPage.jsx @@ -239,7 +239,7 @@ const MeetingPage = () => { 현재 조회되는 번개 모임이 없습니다. </p> )} - <div className="grid grid-cols-1 gap-6 tablet:grid-cols-2 desktop:grid-cols-3"> + <div className="grid grid-cols-1 gap-6 tablet:grid-cols-2"> {meetings.map((meeting) => ( <Card key={meeting.id} @@ -271,7 +271,7 @@ const MeetingPage = () => { 현재 조회되는 나의 번개 모임이 없습니다. </p> )} - <div className="grid grid-cols-1 gap-6 tablet:grid-cols-2 desktop:grid-cols-3"> + <div className="grid grid-cols-1 gap-6 tablet:grid-cols-2"> {myMeetings.map((meeting) => ( <Card key={meeting.id} @@ -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)}