docs(creator-channel): 댓글 답글 후속 요구를 기록한다
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
- 최신 답글: `commentId`, `writerId`, `writerProfileImageUrl`, `writerNickname`, `content`, `createdAtUtc`
|
||||
- 댓글/답글 조회 query parameter 기본값은 `page=0`, `size=20`으로 둔다.
|
||||
- 댓글 쓰기, 답글 쓰기, 댓글 수정, 댓글 삭제, 좋아요는 기존 `CreatorCommunityRepository`(`/creator-community/*`) API를 그대로 재사용한다.
|
||||
- 댓글 팝업 메뉴는 기존 커뮤니티 댓글과 동일한 팝업 메뉴(`content_comment_option_menu`, `content_comment_option_menu2`)를 사용한다.
|
||||
- 댓글 팝업 메뉴는 기존 커뮤니티 댓글과 동일한 팝업 메뉴(`content_comment_option_menu`, `content_comment_option_menu2`)를 사용하되, 메뉴 문구는 `수정하기`, `삭제하기`로 표시한다.
|
||||
- 하트 터치 시 좋아요 API를 호출하고, `isLiked`에 따라 `ic_feed_community_heart_fill`/`ic_feed_community_heart` icon을 표시한다.
|
||||
- 댓글 작성이 불가능한 게시글(`isCommentAvailable == false`)이면 댓글 목록과 하단 입력 영역을 숨긴다.
|
||||
- 하단 댓글/답글 입력 영역은 화면 하단에 고정하고 키보드 표시 여부에 따라 함께 올라오게 한다.
|
||||
@@ -44,6 +44,7 @@
|
||||
- 서버 API schema나 endpoint를 새로 정의하지 않는다.
|
||||
- 레거시 커뮤니티/댓글 관련 파일을 직접 수정하지 않는다.
|
||||
- 크리에이터 채널의 다른 탭 UI나 공통 스크롤 구조를 재설계하지 않는다.
|
||||
- v2 패키지 내부 popup dialog는 `kr.co.vividnext.sodalive.v2.components.modal.V2ModalDialog`를 사용한다.
|
||||
|
||||
---
|
||||
|
||||
@@ -151,11 +152,13 @@ Figma 기준 하단 고정 입력 영역을 제공한다.
|
||||
- 3줄까지는 입력창 높이가 자동 확장된다.
|
||||
- 4줄 이상이면 3줄 높이를 유지하고 vertical scroll로 처리한다.
|
||||
- 입력 영역은 화면 하단에 고정되고 키보드가 올라오면 키보드 위로 함께 올라온다.
|
||||
- 수정 모드 진입 시 하단 입력창에 focus를 주고 키보드를 즉시 표시한다.
|
||||
- 전송 버튼 비활성 상태: `ic_new_arrow_up_gray` icon, 원형 배경, 배경색 `gray_900`.
|
||||
- 전송 버튼 활성 상태: `ic_new_arrow_up_white` icon, 원형 배경, 배경색 `soda_400`.
|
||||
- 게시물 상세에서 전송 시 댓글 쓰기 API(`registerComment(postId, comment)`)를 호출한다.
|
||||
- 답글 화면에서 전송 시 답글 쓰기 API(`registerComment(postId, comment, parentId = commentId)`)를 호출한다.
|
||||
- 작성 성공 시 입력값을 비우고 목록을 새로고침한다.
|
||||
- 작성 또는 수정 API 성공 시 키보드를 내린다.
|
||||
|
||||
#### Edge Cases
|
||||
- 공백/줄바꿈만 입력한 경우 전송 버튼은 비활성 상태다.
|
||||
@@ -166,8 +169,11 @@ Figma 기준 하단 고정 입력 영역을 제공한다.
|
||||
기존 커뮤니티 댓글 수정/삭제 흐름을 재사용한다.
|
||||
|
||||
#### Requirements
|
||||
- 팝업 메뉴 `수정하기` 선택 시 기존 수정 흐름(`modifyComment(commentId, comment = ...)`)을 따른다.
|
||||
- 팝업 메뉴 `삭제하기` 선택 시 기존 삭제 확인 dialog 후 삭제 흐름(`modifyComment(commentId, isActive = false)`)을 따른다.
|
||||
- 팝업 메뉴 `수정하기` 선택 시 별도 입력 Dialog를 띄우지 않고 화면 하단 입력창을 수정 모드로 전환한다.
|
||||
- 수정 모드의 하단 입력창에는 기존 댓글/답글 내용을 채우고, 취소용 X 버튼을 표시한다.
|
||||
- 수정 모드에서 전송 버튼을 누르면 기존 수정 흐름(`modifyComment(commentId, comment = ...)`)을 따른다.
|
||||
- X 버튼을 누르면 수정 모드를 취소하고 입력창을 비운 뒤 일반 작성 모드로 돌아간다.
|
||||
- 팝업 메뉴 `삭제하기` 선택 시 v2 공통 모달(`V2ModalDialog`)로 삭제 확인 후 삭제 흐름(`modifyComment(commentId, isActive = false)`)을 따른다.
|
||||
- 수정/삭제 성공 시 현재 목록(댓글 목록 또는 답글 목록)을 새로고침한다.
|
||||
|
||||
#### Edge Cases
|
||||
@@ -203,7 +209,7 @@ Figma `290:9266` 기준으로 댓글 불가 상태를 처리한다.
|
||||
- 신규 Activity/Fragment/ViewModel 및 하위 코드는 `kr.co.vividnext.sodalive.v2.creator.channel.community` 하위에 작성한다.
|
||||
- 조회용 신규 v2 endpoint는 v2 API/Repository 계약(`ApiResponse<T>`, RxJava3, Koin)을 따른다.
|
||||
- 댓글 쓰기/답글 쓰기/수정/삭제/좋아요는 기존 `CreatorCommunityRepository`를 호출해 재사용한다(레거시 파일 직접 수정 금지).
|
||||
- 댓글 팝업 메뉴는 기존 `content_comment_option_menu`, `content_comment_option_menu2` 리소스를 재사용한다.
|
||||
- 댓글 팝업 메뉴는 기존 `content_comment_option_menu`, `content_comment_option_menu2` 리소스를 재사용하고, 문구는 `수정하기`, `삭제하기`로 표시한다.
|
||||
- 커뮤니티 댓글/답글 신고는 현재 전용 신고 API/레거시 흐름이 없어 이번 구현 범위에서 제외하고, 기존 레거시 메뉴2의 실제 동작인 채널 크리에이터 삭제만 재사용한다.
|
||||
- 신규 문자열은 `values`, `values-en`, `values-ja`에 추가하거나 기존 문자열을 재사용한다.
|
||||
- 오디오 재생은 기존 `CreatorCommunityMediaPlayerManager`를 재사용한다.
|
||||
|
||||
Reference in New Issue
Block a user