diff --git a/src/components/pages/group/group-pending-header/index.tsx b/src/components/pages/group/group-pending-header/index.tsx deleted file mode 100644 index a7d595fc..00000000 --- a/src/components/pages/group/group-pending-header/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -'use client'; - -import { useRouter } from 'next/navigation'; - -import { Icon } from '@/components/icon'; - -export const GroupPendingHeader = () => { - const router = useRouter(); - - const handleBackClick = () => { - router.back(); - }; - - return ( -
- -

참여 신청

-
- ); -}; diff --git a/src/components/pages/group/group-pending-members/index.tsx b/src/components/pages/group/group-pending-members/index.tsx deleted file mode 100644 index e04a9c4d..00000000 --- a/src/components/pages/group/group-pending-members/index.tsx +++ /dev/null @@ -1,83 +0,0 @@ -'use client'; - -import { useCallback } from 'react'; - -import { EmptyState } from '@/components/layout/empty-state'; -import { GetPendingMembersResponse } from '@/types/service/group'; - -import { PendingMemberCard } from './pending-member-card'; - -interface Props { - groupId: string; - pendingMembers?: GetPendingMembersResponse['pendingMembers']; -} - -const MOCK_PENDING_MEMBERS: GetPendingMembersResponse['pendingMembers'] = [ - { - userId: 101, - groupUserId: 1, - nickName: 'Hope Lee', - profileImage: null, - profileMessage: 'Here We Go Again :)', - requestMessage: '안녕하세요 함께하고 싶습니다!', - requestedAt: '2025-12-24T13:20:10.123456', - }, - { - userId: 102, - groupUserId: 2, - nickName: '바다소년', - profileImage: null, - profileMessage: '물고기를 좋아합니다.', - requestMessage: '보드게임 정말 좋아해서 신청합니다! 앞으로 잘 부탁드려요', - requestedAt: '2025-12-24T13:25:15.789012', - }, - { - userId: 103, - groupUserId: 3, - nickName: '박디자인', - profileImage: null, - profileMessage: 'UI/UX 디자이너', - requestMessage: null, - requestedAt: '2025-12-24T13:30:20.456789', - }, -]; - -export const GroupPendingMembers = ({ groupId, pendingMembers = MOCK_PENDING_MEMBERS }: Props) => { - const handleReject = useCallback( - (memberId: number) => { - console.log('거절:', groupId, memberId); - }, - [groupId], - ); - - const handleApprove = useCallback( - (memberId: number) => { - console.log('승인:', groupId, memberId); - }, - [groupId], - ); - - if (pendingMembers?.length === 0) { - return ( -
- 승인 대기 중인 멤버가 없습니다 -
- ); - } - - return ( -
- -
- ); -}; diff --git a/src/components/pages/group/group-pending-members/pending-member-card/index.tsx b/src/components/pages/group/group-pending-members/pending-member-card/index.tsx deleted file mode 100644 index 39b533bb..00000000 --- a/src/components/pages/group/group-pending-members/pending-member-card/index.tsx +++ /dev/null @@ -1,59 +0,0 @@ -'use client'; - -import Link from 'next/link'; - -import { Button, ImageWithFallback } from '@/components/ui'; -import { GetPendingMembersResponse } from '@/types/service/group'; - -type PendingMember = GetPendingMembersResponse['pendingMembers'][number]; - -interface Props { - member: PendingMember; - onReject: () => void; - onApprove: () => void; -} - -export const PendingMemberCard = ({ member, onReject, onApprove }: Props) => { - const profileUrl = `/profile/${member.userId}`; - - return ( -
- - - -
-

{member.nickName}

- {member.profileMessage && ( -

{member.profileMessage}

- )} -
- - - {member.requestMessage && ( -

- {member.requestMessage} -

- )} - -
- - -
-
- ); -}; diff --git a/src/components/pages/group/group-pending-summary/index.tsx b/src/components/pages/group/group-pending-summary/index.tsx deleted file mode 100644 index f01c53a1..00000000 --- a/src/components/pages/group/group-pending-summary/index.tsx +++ /dev/null @@ -1,48 +0,0 @@ -'use client'; - -import { DEFAULT_GROUP_IMAGE } from 'constants/default-images'; - -import { ImageWithFallback } from '@/components/ui'; - -interface Props { - thumbnail?: string | null; - title?: string; - pendingCount?: number; -} - -const MOCK_DATA = { - thumbnail: null, - title: '매우 긴 제목을 가진 모임입니다 이 제목은 너무 길어서 잘려야 합니다', - pendingCount: 5, -}; - -export const GroupPendingSummary = ({ - thumbnail = MOCK_DATA.thumbnail, - title = MOCK_DATA.title, - pendingCount = MOCK_DATA.pendingCount, -}: Props) => { - return ( -
-
- -
- -
-

{title}

- -
- 신청한 유저 - {pendingCount} - -
-
-
- ); -}; diff --git a/src/components/pages/group/index.ts b/src/components/pages/group/index.ts index 526f976f..622de9ef 100644 --- a/src/components/pages/group/index.ts +++ b/src/components/pages/group/index.ts @@ -3,6 +3,3 @@ export { GroupButtons } from './group-buttons'; export { GroupDescriptions } from './group-descriptions'; export { GroupMembers } from './group-members'; export { GroupModal } from './group-modal'; -export { GroupPendingHeader } from './group-pending-header'; -export { GroupPendingMembers } from './group-pending-members'; -export { GroupPendingSummary } from './group-pending-summary';