Skip to content

Feat(client): CardList 컴포넌트 구현 - #284

Open
jogpfls wants to merge 15 commits into
developfrom
feat/card-list/283
Open

Feat(client): CardList 컴포넌트 구현#284
jogpfls wants to merge 15 commits into
developfrom
feat/card-list/283

Conversation

@jogpfls

@jogpfls jogpfls commented Aug 11, 2026

Copy link
Copy Markdown
Member

📌 Summary

CardList 컴포넌트 구현

📚 Tasks

  • CardList 컴포넌트 구현

🔍 Describe

카드 리스트 너비 영역 기준으로 0~1060까지는 2줄, 1060~ 는 3줄로 되도록 구현했어요,,,

피그마의 그리드 가이드를 참고했습니당

image

👀 To Reviewer

무한 스크롤은 일단 대충 봐주세요,,, 카드 리스트 스타일 위주로 작업했어요 !

📸 Screenshot

2026-08-12.6.45.51.mov

@jogpfls
jogpfls requested a review from a team as a code owner August 11, 2026 07:15
@jogpfls
jogpfls removed the request for review from a team August 11, 2026 07:15
@jogpfls jogpfls linked an issue Aug 11, 2026 that may be closed by this pull request
@jogpfls
jogpfls requested review from jm8468, jyeon03 and twossu August 11, 2026 07:15
@jogpfls
jogpfls marked this pull request as draft August 11, 2026 07:15
@github-actions github-actions Bot added ✨ Feat 새로운 기능 추가 🐧 조혜린 웹 37기 조혜린 labels Aug 11, 2026
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

🎨 Storybook 배포 완료

PR 작성자: @jogpfls

🔗 배포된 Storybook 보기


const CARD_MIN_WIDTH = '34rem';
const CARD_MAX_WIDTH = '38rem';
const GAP = '2rem';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😏

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +49 to +56
{/* 카드 선택/드래그, 상세 페이지 연결 전까지 임시 값 전달 */}
<MemoList
cards={memosList ?? []}
isSelected={false}
isDragging={false}
onClickCard={() => {}}
/>
<div ref={loadMoreRef} />

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

임시로 이렇게 둘께욥 !


const CARD_MIN_WIDTH = '34rem';
const CARD_MAX_WIDTH = '38rem';
const GAP = '2rem';

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jogpfls
jogpfls marked this pull request as ready for review August 12, 2026 09:53
Comment on lines +27 to +34
card={{
tagList: card.tagList,
title: card.title ?? '',
content: card.content ?? '',
fileCount: card.fileCount ?? 0,
imageCount: card.imageCount ?? 0,
createAt: card.createdAt ?? '',
}}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

props로 보내는게 많아져서 card 객체를 통째로 보내고 Card 컴포넌트 내부에서 구조 분해 할당으로 데이터를 추출하면 좋을 것 같아요 👍


useEffect(() => {
const loadMoreTarget = loadMoreRef.current;
if (!loadMoreTarget || !hasNextPage || isFetchingNextPage) return;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p4) 인지 관점에서 아래 코드처럼 하는 것도 깔끔해져요!

  if (!loadMoreTarget) return;
  if (!hasNextPage) return;
  if (isFetchingNextPage) return;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

card.tsxmemo-list.tsx에서만 쓰인다면 위치를 옮기는게 좋아보이네용

isNewAi?: boolean;
}

const Card = ({

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Card 컴포넌트의 이름 더 구체화하면 어떨까요?
UI 중에 card라는 명칭을 가진 UI가 있어서 의미를 더 드러내면 좋을 것 같아요

https://namethatui.com/web/card

@twossu twossu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반응형 두군두준

Comment on lines +25 to +27
<Card
key={card.memoId}
card={{

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

행님 이곳에 isNew가 누락된 것 같습니다. isNew를 심폐소생술로 부활시켜야할 것 같다데스⚔️

export const memoListGrid = style({
display: 'grid',
gridTemplateColumns: columns(2),
justifyContent: 'safe center',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이것은 뭔밍 정말 처음봐요 안전한 센터 참 신기하네요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat 새로운 기능 추가 🐧 조혜린 웹 37기 조혜린

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 카드 리스트 컴포넌트 구현

4 participants