feat(home): 인기 커뮤니티 섹션을 연결한다
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
- 추천 탭 전용 데이터가 기존 홈 API와 섞이면 응답/화면 책임이 커지고 회귀 위험이 커진다.
|
||||
- Figma 추천 탭은 라이브, 배너, 최근 활동, 최근 데뷔, AI 캐릭터, 장르 크리에이터, 응원 크리에이터, 인기 커뮤니티, 사업자 정보 등 여러 독립 섹션으로 구성된다.
|
||||
- 섹션별 UI가 많으므로 한 화면 파일에 직접 구현하면 유지보수와 검증이 어려워진다.
|
||||
- `FeedCommunityView`는 추천 탭 요구에 맞춰 키워드 영역 제거, 이미지 표시, 유료/구매 상태 UI가 필요하다.
|
||||
- `FeedCommunityView`는 추천 탭 요구에 맞춰 키워드 영역 제거, 이미지 표시, 오디오 재생, 유료/구매 상태 UI가 필요하다.
|
||||
- 사업자 정보는 외부 라이브러리 없이 최대 3줄 말줄임표, 더보기, 접기 동작을 제공해야 한다.
|
||||
|
||||
## 3. Goals
|
||||
@@ -22,7 +22,7 @@
|
||||
- `RecommendedActivityType` 서버 enum 값을 앱 enum으로 변환하고 I18n 문구로 표시한다.
|
||||
- 빈 데이터 섹션은 제목과 컨테이너를 표시하지 않는다.
|
||||
- 사업자 정보 섹션은 화면 width를 채우고, 기본 3줄 말줄임표와 더보기/접기 전환을 지원한다.
|
||||
- `FeedCommunityView`는 추천 탭 요구에 맞게 이미지와 유료 커뮤니티 포스트 UI를 지원한다.
|
||||
- `FeedCommunityView`는 추천 탭 요구에 맞게 세로 피드형 이미지/오디오/유료 커뮤니티 포스트 UI를 지원한다.
|
||||
|
||||
## 4. Non-Goals
|
||||
- `추천 필모그래피` 섹션은 만들지 않는다.
|
||||
@@ -135,6 +135,7 @@ data class HomePopularCommunityPostItem(
|
||||
val createdAt: String,
|
||||
val likeCount: Long,
|
||||
val commentCount: Long,
|
||||
val isLiked: Boolean,
|
||||
val existOrdered: Boolean
|
||||
)
|
||||
```
|
||||
@@ -187,18 +188,22 @@ enum class RecommendedActivityType(val code: String) {
|
||||
### 7.4 FeedCommunityView
|
||||
|
||||
참조 Figma:
|
||||
- 유료이고 구매하지 않은 UI: `node-id=309-19774`
|
||||
- 유료인데 구매함 또는 무료 UI: `node-id=309-19775`
|
||||
- 인기 커뮤니티 섹션: `node-id=24-5645`
|
||||
- Text Only Feed: `node-id=567-17875`
|
||||
- Text + Image Feed: `node-id=567-17878`
|
||||
|
||||
요구사항:
|
||||
- 키워드 영역을 제거한다.
|
||||
- 인기 커뮤니티 섹션은 가로 캐러셀이 아니라 세로 피드 목록으로 배치한다.
|
||||
- 커뮤니티 포스트 이미지를 추가한다.
|
||||
- `imageUrl == nil`이면 이미지 영역 없이 본문 중심으로 표시한다.
|
||||
- `imageUrl != nil && price > 0 && existOrdered == false`이면 유료 미구매 상태 UI를 표시한다.
|
||||
- `imageUrl != nil && (price <= 0 || existOrdered == true)`이면 이미지를 일반 노출한다.
|
||||
- `node-id=309-19775`의 `구매완료` 버튼은 뺀다.
|
||||
- `audioUrl`이 있으면 이미지 중앙에 재생/일시정지 버튼을 표시하고 기존 커뮤니티 오디오 재생 흐름을 재사용한다.
|
||||
- 유료 미구매 커뮤니티 포스트는 기존 커뮤니티 구매 API로 구매 가능해야 한다.
|
||||
- `구매완료` 버튼은 표시하지 않는다.
|
||||
- 작성자, 본문, 생성 시간, 좋아요 수, 댓글 수를 표시한다.
|
||||
- `audioUrl`은 이번 추천 탭 카드에서 표시 대상이 확정되지 않았으므로 재생 UI를 추가하지 않는다.
|
||||
- 생성 시간은 UTC 값을 디바이스 Timezone 기준 상대 날짜로 표시한다.
|
||||
|
||||
### 7.5 사업자 정보 더보기/접기
|
||||
|
||||
|
||||
Reference in New Issue
Block a user