diff --git a/src/app/(user-page)/my-meeting/_features/CardRightSection.tsx b/src/app/(user-page)/my-meeting/_features/CardRightSection.tsx index 3e1ca1d..2efa077 100644 --- a/src/app/(user-page)/my-meeting/_features/CardRightSection.tsx +++ b/src/app/(user-page)/my-meeting/_features/CardRightSection.tsx @@ -54,6 +54,17 @@ const CardRightSection = ({ } }; + // 맴버 명단 보기 + const handleShowMemberList = () => { + queryClient.setQueryData( + ['mymeeting', 'memberList', meetingId], + memberList, + ); + router.push( + `/my-meeting/my/user-list?meetingId=${meetingId}&type=${showPublicSelect ? 'created' : 'joined'}`, + ); + }; + const { data: currentUser, isLoading } = useBannerQueries(); if (isLoading || !currentUser) { return; @@ -109,12 +120,11 @@ const CardRightSection = ({ + {/*
*/} @@ -122,6 +132,7 @@ const CardRightSection = ({ )}
+ // ); }; diff --git a/src/app/(user-page)/my-meeting/_features/Created.tsx b/src/app/(user-page)/my-meeting/_features/Created.tsx index 05dcb81..fb75f60 100644 --- a/src/app/(user-page)/my-meeting/_features/Created.tsx +++ b/src/app/(user-page)/my-meeting/_features/Created.tsx @@ -67,6 +67,7 @@ const Created = () => { isPublic={meeting.isPublic} className="hidden lg:flex" meetingId={meeting.meetingId} + showPublicSelect={true} /> @@ -96,6 +97,7 @@ const Created = () => { isPublic={meeting.isPublic} className="flex lg:hidden" meetingId={meeting.meetingId} + showPublicSelect={true} /> @@ -124,6 +126,7 @@ const Created = () => { isPublic={meeting.isPublic} className="flex lg:hidden" meetingId={meeting.meetingId} + showPublicSelect={true} /> diff --git a/src/app/(user-page)/my-meeting/_features/ModalUserList.tsx b/src/app/(user-page)/my-meeting/_features/ModalUserList.tsx index b44b09e..30f8ddc 100644 --- a/src/app/(user-page)/my-meeting/_features/ModalUserList.tsx +++ b/src/app/(user-page)/my-meeting/_features/ModalUserList.tsx @@ -64,7 +64,7 @@ const ModalUserList = ({ + /> )}
diff --git a/src/components/ui/HorizonCard.tsx b/src/components/ui/HorizonCard.tsx index f595da1..d741e39 100644 --- a/src/components/ui/HorizonCard.tsx +++ b/src/components/ui/HorizonCard.tsx @@ -1,5 +1,6 @@ import useLikeHandler from '@/hooks/common/useLikeHandler'; import { getIconComponent } from '@/util/getIconDetail'; +import { translateCategoryNameToEng } from '@/util/searchFilter'; import { Heart, Map } from 'lucide-react'; import Image from 'next/image'; import { useParams, useRouter } from 'next/navigation'; @@ -54,7 +55,10 @@ const HorizonCard = ({ meetingId, category, searchQuery, - onAuthRequired: () => setIsLoginModalOpen(true), + onAuthRequired: () => + router.push( + `/meeting/${translateCategoryNameToEng(category)}/need-login`, + ), }); const handleLikeButton = (e: React.MouseEvent) => { diff --git a/src/components/ui/VerticalCard.tsx b/src/components/ui/VerticalCard.tsx index 382c37d..f87e827 100644 --- a/src/components/ui/VerticalCard.tsx +++ b/src/components/ui/VerticalCard.tsx @@ -1,5 +1,7 @@ import useLikeHandler from '@/hooks/common/useLikeHandler'; import { getIconComponent } from '@/util/getIconDetail'; +import { translateCategoryNameToEng } from '@/util/searchFilter'; +import { useQueryClient } from '@tanstack/react-query'; import { Heart, Map } from 'lucide-react'; import Image from 'next/image'; import { useRouter } from 'next/navigation'; @@ -58,7 +60,10 @@ const VerticalCard = ({ meetingId, category, searchQuery, - onAuthRequired: () => setIsLoginModalOpen(true), + onAuthRequired: () => + router.push( + `/meeting/${translateCategoryNameToEng(category)}/need-login`, + ), }); const handleLikeButton = (e: React.MouseEvent) => { diff --git a/src/components/ui/modal/ModalPortal.tsx b/src/components/ui/modal/ModalPortal.tsx index 3c13f9c..b12eef0 100644 --- a/src/components/ui/modal/ModalPortal.tsx +++ b/src/components/ui/modal/ModalPortal.tsx @@ -5,7 +5,7 @@ import { createPortal } from 'react-dom'; interface AlertModalProps { isOpen: boolean; - onClose: () => void; + onClose?: () => void; onConfirm?: () => void; confirmText?: string; cancelText?: string; @@ -90,7 +90,21 @@ const ModalPortal: React.FC = ({ } }, []); - if (!isOpen) return null; + const handleClose = (e: React.MouseEvent) => { + e.stopPropagation(); + if (onClose) { + onClose(); + } else { + router.back(); + } + }; + + const handleConfirm = ( + e: React.MouseEvent, + ) => { + e.stopPropagation(); + onConfirm?.(); + }; return createPortal(
= ({ aria-modal="true" tabIndex={-1} ref={dialogRef} - aria-labelledBy="modal-title" + aria-labelledby="modal-title" aria-describedby="modal-description" >
{children}
@@ -114,16 +128,16 @@ const ModalPortal: React.FC = ({ {!showOnly && (
{closeOnly ? ( - ) : ( <> -