Skip to content

Commit 4f63d9d

Browse files
authored
Merge pull request #197 from code-zero-to-one/feat/no-group-study-member
[Feat] 그룹스터디 멤버가 없을 경우와 멤버의 진행점수가 없을 경우 UI 처리
2 parents f80d5ca + 700b797 commit 4f63d9d

3 files changed

Lines changed: 50 additions & 16 deletions

File tree

public/images/no-group-study-member.svg

Lines changed: 9 additions & 0 deletions
Loading

src/features/study/group/ui/group-study-member-item.tsx

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,23 @@ export default function GroupStudyMemberItem({
155155

156156
<ProgressBar value={member.progress.score} className="mt-200" />
157157

158-
{isProgressHistoryOpen && (
159-
<ul className="mt-300 flex flex-col gap-300">
160-
{member.progress.progressHistory.map((history) => (
161-
<ProgressScoreItem key={history.id} {...history} />
162-
))}
163-
</ul>
164-
)}
158+
{isProgressHistoryOpen &&
159+
(member.progress.progressHistory.length > 0 ? (
160+
<ul className="mt-300 flex flex-col gap-300">
161+
{member.progress.progressHistory.map((history) => (
162+
<ProgressScoreItem key={history.id} {...history} />
163+
))}
164+
</ul>
165+
) : (
166+
<div className="rounded-100 bg-background-alternative mt-300 flex h-[130px] flex-col items-center justify-center gap-100">
167+
<span className="font-designer-14b text-text-subtle">
168+
진행한 스터디가 없습니다.
169+
</span>
170+
<span className="font-designer-13m text-text-subtlest">
171+
스터디를 시작하고 활동 내역을 쌓아보세요.
172+
</span>
173+
</div>
174+
))}
165175
</div>
166176
</div>
167177
</li>

src/features/study/group/ui/group-study-member-list.tsx

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Image from 'next/image';
12
import { useState } from 'react';
23
import Pagination from '@/shared/ui/pagination';
34
import GroupStudyMemberItem from './group-study-member-item';
@@ -29,16 +30,30 @@ export default function GroupStudyMemberList({
2930
<section className="flex flex-col gap-300">
3031
<span className="font-designer-20b text-text-default">스터디 참가자</span>
3132

32-
<ul className="flex flex-col gap-200">
33-
{memberList.map((member, idx) => (
34-
<GroupStudyMemberItem
35-
key={`${member.id}-${idx}`}
36-
groupStudyId={groupStudyId}
37-
leaderId={leaderId}
38-
{...member}
33+
{memberList.length > 0 ? (
34+
<ul className="flex flex-col gap-200">
35+
{memberList.map((member, idx) => (
36+
<GroupStudyMemberItem
37+
key={`${member.id}-${idx}`}
38+
groupStudyId={groupStudyId}
39+
leaderId={leaderId}
40+
{...member}
41+
/>
42+
))}
43+
</ul>
44+
) : (
45+
<div className="bg-background-alternative rounded-100 flex h-[640px] flex-col items-center justify-center gap-200">
46+
<Image
47+
src="/images/no-group-study-member.svg"
48+
alt="no-group-study-member"
49+
width={160}
50+
height={160}
3951
/>
40-
))}
41-
</ul>
52+
<p className="text-text-default font-bold-h5">
53+
아직 <span className="text-text-brand">참여한 멤버</span>가 없습니다
54+
</p>
55+
</div>
56+
)}
4257

4358
<Pagination
4459
page={pageNumber}

0 commit comments

Comments
 (0)