diff --git a/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx b/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx new file mode 100644 index 00000000..f513e379 --- /dev/null +++ b/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx @@ -0,0 +1,28 @@ +'use client'; + +import { useDisclosure } from '@mantine/hooks'; +import CreateGatheringModalContainer from '@/src/app/(crew)/crew/_components/create-gathering-modal/container'; +import Button from '@/src/components/common/input/button'; +import { CreateGatheringRequestType } from '@/src/types/gathering-data'; + +export default function CreateGathering() { + const [opened, { open, close }] = useDisclosure(false); + + const initialValue: CreateGatheringRequestType = { + title: '', + introduce: '', + dateTime: '', + location: '', + totalCount: 0, + imageUrl: null, + }; + + return ( + <> + + + + ); +} diff --git a/src/app/(crew)/crew/detail/[id]/page.tsx b/src/app/(crew)/crew/detail/[id]/page.tsx index 7ff7a89e..32183646 100644 --- a/src/app/(crew)/crew/detail/[id]/page.tsx +++ b/src/app/(crew)/crew/detail/[id]/page.tsx @@ -1,8 +1,8 @@ import { getCrewDetail } from '@/src/_apis/detail/get-crew-detail'; import { getGatheringList } from '@/src/_apis/detail/get-gathering-list'; import DetailCrewCard from '@/src/components/common/crew-list/detail-crew-card'; -import Button from '@/src/components/common/input/button'; import GatheringCardCarousel from '@/src/components/gathering-list/gathering-card-carousel'; +import CreateGathering from './_components/create-gathering'; import CrewReviewSection from './_components/review-section'; export default async function CrewDetailPage() { @@ -21,9 +21,7 @@ export default async function CrewDetailPage() {

크루 약속 잡기

- +
diff --git a/src/app/(crew)/my-crew/page.tsx b/src/app/(crew)/my-crew/page.tsx index 3c065137..5dcd7abb 100644 --- a/src/app/(crew)/my-crew/page.tsx +++ b/src/app/(crew)/my-crew/page.tsx @@ -7,7 +7,7 @@ import CrewCardList from '@/src/components/common/crew-list/crew-card-list'; import Tabs from '@/src/components/common/tab'; import { CrewCardInformResponse } from '@/src/types/crew-card'; -export default function MyCrePage() { +export default function MyCrewPage() { const myPageTabs = [ { label: '내가 참여한 크루', id: 'joined-crew' }, { label: '내가 만든 크루', id: 'made-crew' }, diff --git a/src/app/(crew)/mypage/.gitkeep b/src/app/(crew)/mypage/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/src/components/common/crew-list/detail-crew-card.tsx b/src/components/common/crew-list/detail-crew-card.tsx index 7a8bf2cc..83bbe512 100644 --- a/src/components/common/crew-list/detail-crew-card.tsx +++ b/src/components/common/crew-list/detail-crew-card.tsx @@ -73,7 +73,7 @@ export default function DetailCrewCard({
- + 크루 수정하기 - 확인{' '} + 확인 개설 확정 )} diff --git a/src/components/common/review-list/review-card.tsx b/src/components/common/review-list/review-card.tsx index cbbae0b8..50154609 100644 --- a/src/components/common/review-list/review-card.tsx +++ b/src/components/common/review-list/review-card.tsx @@ -3,7 +3,9 @@ import React, { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Button } from '@mantine/core'; +import { useDisclosure } from '@mantine/hooks'; import { formatDateWithYear } from '@/src/utils/format-date'; +import ConfirmCancelModal from '@/src/components/common/modal/confirm-cancel-modal'; import { ReviewerType } from '@/src/types/review'; import { Profile } from '../profile'; import ReviewHearts from '../review-heart/hearts'; @@ -41,6 +43,11 @@ export default function ReviewCard({ gatheringLocation, reviewer, }: ReviewCardProps) { + const [ + confirmDeleteModalOpened, + { open: openConfirmDeleteModal, close: closeConfirmDeleteModal }, + ] = useDisclosure(false); + const [prefetched, setPrefetched] = useState(new Set()); const CREWPAGE = `crew/detail/${crewId}`; const router = useRouter(); @@ -55,8 +62,9 @@ export default function ReviewCard({ setPrefetched(new Set(prefetched).add(CREWPAGE)); }; - const handleDelete = (e: React.MouseEvent) => { - e.stopPropagation(); + const handleDelete = () => { + // TODO: 삭제 로직 + closeConfirmDeleteModal(); }; const { year, month, day } = formatDateWithYear(createdAt); @@ -102,12 +110,24 @@ export default function ReviewCard({ )} + + {/* 삭제 확인 모달 */} + + 리뷰를 삭제하시겠습니까? + ); }