Skip to content
Snippets Groups Projects
Commit bd36fabc authored by 석찬 윤's avatar 석찬 윤
Browse files

fix: 데이터 재로드 로직 로컬상태변경에서 API호출로 변경

parent 94d44041
No related branches found
No related tags found
1 merge request!51fix: 데이터 재로드 로직 로컬상태변경에서 API호출로 변경
Pipeline #11024 passed
...@@ -101,7 +101,7 @@ const MeetingPage = () => { ...@@ -101,7 +101,7 @@ const MeetingPage = () => {
hasError, hasError,
]); ]);
const handleCreateMeeting = () => { const handleCreateMeeting = async () => {
setShowCreateModal(true); // 모달 열기 setShowCreateModal(true); // 모달 열기
}; };
...@@ -110,14 +110,15 @@ const MeetingPage = () => { ...@@ -110,14 +110,15 @@ const MeetingPage = () => {
try { try {
await joinMeeting(meetingId); await joinMeeting(meetingId);
alert("번개 모임에 성공적으로 참가했습니다!"); alert("번개 모임에 성공적으로 참가했습니다!");
// 참가 상태 업데이트
setMeetings((prev) => // 최신 데이터 다시 가져오기
prev.map((meeting) => if (activeTab === "all") {
meeting.id === meetingId const updatedData = await getAllMeetings(0, meetingPage * 20);
? { ...meeting, isParticipant: true } setMeetings(updatedData.content);
: meeting } else if (activeTab === "my") {
) const updatedData = await getMyMeetings(0, myMeetingPage * 20);
); setMyMeetings(updatedData.content);
}
} catch (error) { } catch (error) {
alert("번개 모임 참가에 실패했습니다."); alert("번개 모임 참가에 실패했습니다.");
console.error("Error joining meeting:", error); console.error("Error joining meeting:", error);
...@@ -140,10 +141,15 @@ const MeetingPage = () => { ...@@ -140,10 +141,15 @@ const MeetingPage = () => {
try { try {
await deleteMeeting(meetingId); await deleteMeeting(meetingId);
alert("번개 모임을 삭제했습니다!"); alert("번개 모임을 삭제했습니다!");
setMeetings((prev) => prev.filter((meeting) => meeting.id !== meetingId));
setMyMeetings((prev) => // 최신 데이터 다시 가져오기
prev.filter((meeting) => meeting.id !== meetingId) if (activeTab === "all") {
); const updatedData = await getAllMeetings(0, meetingPage * 20);
setMeetings(updatedData.content);
} else if (activeTab === "my") {
const updatedData = await getMyMeetings(0, myMeetingPage * 20);
setMyMeetings(updatedData.content);
}
} catch (error) { } catch (error) {
alert("번개 모임 삭제에 실패했습니다."); alert("번개 모임 삭제에 실패했습니다.");
console.error("Error deleting meeting:", error); console.error("Error deleting meeting:", error);
...@@ -155,20 +161,15 @@ const MeetingPage = () => { ...@@ -155,20 +161,15 @@ const MeetingPage = () => {
try { try {
await leaveMeeting(meetingId); await leaveMeeting(meetingId);
alert("번개 모임을 나갔습니다!"); alert("번개 모임을 나갔습니다!");
setMeetings((prev) =>
prev.map((meeting) => // 최신 데이터 다시 가져오기
meeting.id === meetingId if (activeTab === "all") {
? { ...meeting, isParticipant: false } const updatedData = await getAllMeetings(0, meetingPage * 20);
: meeting setMeetings(updatedData.content);
) } else if (activeTab === "my") {
); const updatedData = await getMyMeetings(0, myMeetingPage * 20);
setMyMeetings((prev) => setMyMeetings(updatedData.content);
prev.map((meeting) => }
meeting.id === meetingId
? { ...meeting, isParticipant: false }
: meeting
)
);
} catch (error) { } catch (error) {
alert("번개 모임 나가기에 실패했습니다."); alert("번개 모임 나가기에 실패했습니다.");
console.error("Error leaving meeting:", error); console.error("Error leaving meeting:", error);
...@@ -180,16 +181,15 @@ const MeetingPage = () => { ...@@ -180,16 +181,15 @@ const MeetingPage = () => {
try { try {
await closeMeeting(meetingId); await closeMeeting(meetingId);
alert("번개 모임을 마감했습니다!"); alert("번개 모임을 마감했습니다!");
setMeetings((prev) =>
prev.map((meeting) => // 최신 데이터 다시 가져오기
meeting.id === meetingId ? { ...meeting, type: "CLOSE" } : meeting if (activeTab === "all") {
) const updatedData = await getAllMeetings(0, meetingPage * 20);
); setMeetings(updatedData.content);
setMyMeetings((prev) => } else if (activeTab === "my") {
prev.map((meeting) => const updatedData = await getMyMeetings(0, myMeetingPage * 20);
meeting.id === meetingId ? { ...meeting, type: "CLOSE" } : meeting setMyMeetings(updatedData.content);
) }
);
} catch (error) { } catch (error) {
alert("번개 모임 마감에 실패했습니다."); alert("번개 모임 마감에 실패했습니다.");
console.error("Error closing meeting:", error); console.error("Error closing meeting:", error);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment