From ae8c02adad6d77a19612eea4dc23b266d2a08163 Mon Sep 17 00:00:00 2001 From: minseokim Date: Mon, 29 Dec 2025 18:26:17 +0900 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?= =?UTF-8?q?=EB=AA=A8=EC=9E=84=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20empty=20stat?= =?UTF-8?q?e=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/schedule/(components)/empty-state.tsx | 51 ------------------ .../schedule/(components)/meeting-list.tsx | 54 +++++++++++++++++-- 2 files changed, 51 insertions(+), 54 deletions(-) delete mode 100644 src/app/schedule/(components)/empty-state.tsx diff --git a/src/app/schedule/(components)/empty-state.tsx b/src/app/schedule/(components)/empty-state.tsx deleted file mode 100644 index b9a80a52..00000000 --- a/src/app/schedule/(components)/empty-state.tsx +++ /dev/null @@ -1,51 +0,0 @@ -'use client'; - -import { Icon } from '@/components/icon'; -import { Button } from '@/components/ui'; -import { cn } from '@/lib/utils'; - -type EmptyStateProps = { - type: 'current' | 'myPost' | 'past'; - onButtonClick: () => void; -}; - -const EMPTY_STATE_CONFIG = { - current: { - text: '현재 참여 중인 모임이 없어요.\n지금 바로 모임을 참여해보세요!', - buttonText: '모임 보러가기', - buttonWidth: 'w-[124px]', - }, - myPost: { - text: '아직 생성한 모임이 없어요.\n지금 바로 모임을 만들어보세요!', - buttonText: '모임 만들기', - buttonWidth: 'w-[112px]', - }, - past: { - text: '아직 참여한 모임이 없어요.\n마음에 드는 모임을 발견해보세요!', - buttonText: '모임 보러가기', - buttonWidth: 'w-[124px]', - }, -} as const; - -export const EmptyState = ({ type, onButtonClick }: EmptyStateProps) => { - const config = EMPTY_STATE_CONFIG[type]; - - return ( -
-
- ); -}; diff --git a/src/app/schedule/(components)/meeting-list.tsx b/src/app/schedule/(components)/meeting-list.tsx index 1fcf668c..066785e1 100644 --- a/src/app/schedule/(components)/meeting-list.tsx +++ b/src/app/schedule/(components)/meeting-list.tsx @@ -4,15 +4,51 @@ import { useRouter } from 'next/navigation'; import { RefObject } from 'react'; +import { EmptyState } from '@/components/layout/empty-state'; import { ErrorMessage } from '@/components/shared'; import Card from '@/components/shared/card'; +import { Button } from '@/components/ui'; import { formatDateTime } from '@/lib/formatDateTime'; import { GroupListItemResponse } from '@/types/service/group'; -import { EmptyState } from './empty-state'; - type TabType = 'current' | 'myPost' | 'past'; +const EMPTY_STATE_CONFIG = { + current: { + text: ( + <> + 현재 참여 중인 모임이 없어요. +
+ 지금 바로 모임을 참여해보세요! + + ), + buttonText: '모임 보러가기', + buttonWidth: 'w-[124px]', + }, + myPost: { + text: ( + <> + 아직 생성한 모임이 없어요. +
+ 지금 바로 모임을 만들어보세요! + + ), + buttonText: '모임 만들기', + buttonWidth: 'w-[112px]', + }, + past: { + text: ( + <> + 아직 참여한 모임이 없어요. +
+ 마음에 드는 모임을 발견해보세요! + + ), + buttonText: '모임 보러가기', + buttonWidth: 'w-[124px]', + }, +} as const; + type MeetingListProps = { meetings: GroupListItemResponse[]; tabType: TabType; @@ -41,7 +77,19 @@ export const MeetingList = ({ const router = useRouter(); if (meetings.length === 0 && !error) { - return router.push(emptyStatePath)} />; + const config = EMPTY_STATE_CONFIG[emptyStateType]; + return ( +
+ {config.text} + + +
+ ); } return ( From 17b26dcc5cb1327726f8087dc7df852512e76ab9 Mon Sep 17 00:00:00 2001 From: Min Seo Kim Date: Mon, 29 Dec 2025 18:43:11 +0900 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=EB=B2=84=ED=8A=BC=20=EB=84=88?= =?UTF-8?q?=EB=B9=84=20=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hope <96109009+HopeFullee@users.noreply.github.com> --- src/app/schedule/(components)/meeting-list.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/schedule/(components)/meeting-list.tsx b/src/app/schedule/(components)/meeting-list.tsx index 066785e1..7ed4249a 100644 --- a/src/app/schedule/(components)/meeting-list.tsx +++ b/src/app/schedule/(components)/meeting-list.tsx @@ -23,7 +23,7 @@ const EMPTY_STATE_CONFIG = { ), buttonText: '모임 보러가기', - buttonWidth: 'w-[124px]', + buttonWidth: 'w-31', }, myPost: { text: ( From 4d6010c12c6177d276b6a82e3669ed0c040088c1 Mon Sep 17 00:00:00 2001 From: Min Seo Kim Date: Mon, 29 Dec 2025 18:43:37 +0900 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=EB=B2=84=ED=8A=BC=20=EB=84=88?= =?UTF-8?q?=EB=B9=84=20=ED=85=8C=EC=9D=BC=EC=9C=88=EB=93=9C=20=EA=B3=B5?= =?UTF-8?q?=EC=8B=9D=20=EC=88=98=EC=B9=98=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hope <96109009+HopeFullee@users.noreply.github.com> --- src/app/schedule/(components)/meeting-list.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/schedule/(components)/meeting-list.tsx b/src/app/schedule/(components)/meeting-list.tsx index 7ed4249a..bdcaf98c 100644 --- a/src/app/schedule/(components)/meeting-list.tsx +++ b/src/app/schedule/(components)/meeting-list.tsx @@ -34,7 +34,7 @@ const EMPTY_STATE_CONFIG = { ), buttonText: '모임 만들기', - buttonWidth: 'w-[112px]', + buttonWidth: 'w-31', }, past: { text: ( From da1fafb851fe7381f45f380790fe6e2870e6c00f Mon Sep 17 00:00:00 2001 From: Min Seo Kim Date: Mon, 29 Dec 2025 18:43:57 +0900 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=EB=B2=84=ED=8A=BC=20=EB=84=88?= =?UTF-8?q?=EB=B9=84=20[124]=EC=97=90=EC=84=9C=2031=EB=A1=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hope <96109009+HopeFullee@users.noreply.github.com> --- src/app/schedule/(components)/meeting-list.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/schedule/(components)/meeting-list.tsx b/src/app/schedule/(components)/meeting-list.tsx index bdcaf98c..06a64d38 100644 --- a/src/app/schedule/(components)/meeting-list.tsx +++ b/src/app/schedule/(components)/meeting-list.tsx @@ -45,7 +45,7 @@ const EMPTY_STATE_CONFIG = { ), buttonText: '모임 보러가기', - buttonWidth: 'w-[124px]', + buttonWidth: 'w-31', }, } as const; From 863d97a8cf8671a24d23b102303a686ca5eded15 Mon Sep 17 00:00:00 2001 From: Min Seo Kim Date: Mon, 29 Dec 2025 18:45:00 +0900 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20margin-top=20=EC=9E=84=EC=9D=98?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20spacing=20=EC=9C=A0=ED=8B=B8=20=EA=B0=92?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hope <96109009+HopeFullee@users.noreply.github.com> --- src/app/schedule/(components)/meeting-list.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/schedule/(components)/meeting-list.tsx b/src/app/schedule/(components)/meeting-list.tsx index 06a64d38..8f1925df 100644 --- a/src/app/schedule/(components)/meeting-list.tsx +++ b/src/app/schedule/(components)/meeting-list.tsx @@ -83,7 +83,7 @@ export const MeetingList = ({ {config.text}