Get startedFoundationsComponentsPatternsRules

Comment

댓글은 이슈·페이지·풀 리퀘스트 같은 대상에 대해 의견을 나누고 토론하게 해요.

설치

pnpm dlx shadcn@latest add https://rebar.conmarket-landing.workers.dev/r/steel/comment.json

Examples

Comment

avatar, author(CommentAuthor), time(CommentTime), content, actions(CommentAction 배열)로 구성해요. 작성자 유형은 type 로젠지로, 수정 여부는 edited(CommentEdited)로, 공개 범위 제한은 restrictedTo 와 자물쇠 아이콘으로 보여줘요. 작성자·시간에 href 를 주면 링크가 돼요.

Nested comments

Comment 의 children 으로 답글을 넣으면 아바타 너비만큼 들여쓰기된 중첩 댓글이 돼요.

Inline nested comments

shouldRenderNestedCommentsInline 을 켜면 답글을 들여쓰지 않고 아바타 아래부터 그려요. 사이드 패널처럼 좁은 곳에 써요.

States

  • isSaving — 시간·액션을 숨기고 savingText 를 보여주며 본문을 흐리게 해요.
  • isError — 본문을 흐리게 하고 경고 아이콘과 errorActions(다시 시도, 취소 등)를 보여줘요.
  • highlighted — 링크로 들어온 댓글처럼 특정 댓글을 배경으로 강조해요.

Reply editor

afterContent 에 답글 입력창 같은 요소를 넣어 본문·액션 아래에 붙일 수 있어요.

Usage guidelines

페이지, 작업, 프로젝트에 대해 피드백을 남기고 토론하게 할 때 써요.

평평한 댓글 vs 중첩 댓글

형태언제
평평한 목록짧고 한 가지 주제에 집중된 대화
중첩(스레드)참여자가 많고 주제가 넓어 갈래를 구분해야 하는 토론
Do· 수정 기능이 있다면 수정됨 표시
댓글을 고칠 수 있게 했다면 edited 로 수정 사실을 알려줘요.
Don't· 액션 나열 과다
답글·수정·삭제·좋아요 외에 덜 쓰는 액션까지 모두 늘어놓지 않아요.
  • 작성자 유형(작성자, 외부 사용자 등)은 type 로젠지로 보여줘요.
  • 공개 범위가 제한된 댓글은 restrictedTo 로 누가 볼 수 있는지 알려줘요.
  • 날짜·시간은 사용자 지역 형식에 맞춰 표시해요.

Accessibility

  • 댓글 헤더는 heading 요소(기본 h3)예요. 앞선 heading 에 맞춰 headingLevel 을 정하고 레벨을 건너뛰지 않아요. 예를 들어 h2 섹션 아래의 댓글은 h3 로 두고, h1 바로 아래에 h3 를 두지 않아요.
  • CommentAction 은 실제 button 이라 Tab·Enter·Space 로 쓸 수 있어요. isDisabled 면 비활성화돼요.
  • 오류 아이콘은 errorIconLabel 이 있으면 그 이름으로 읽히고, 없으면 장식으로 처리돼요.
  • 아바타에는 사람 이름을 대체 텍스트로 넣어요.

Props

Comment

Prop

Type

CommentAction · CommentAuthor · CommentTime · CommentEdited

Prop

Type

On this page