From f69a9a6ee00222eac9e22f36f468c4a6f12cf9b6 Mon Sep 17 00:00:00 2001 From: klaus Date: Sun, 12 Jul 2026 09:28:05 +0900 Subject: [PATCH] =?UTF-8?q?docs(community):=20=EA=B7=B8=EB=A6=AC=EB=93=9C?= =?UTF-8?q?=20=EC=9E=A0=EA=B8=88=20=EC=98=A4=EB=B2=84=EB=A0=88=EC=9D=B4=20?= =?UTF-8?q?=EC=9A=94=EA=B5=AC=EB=A5=BC=20=EA=B8=B0=EB=A1=9D=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260621_크리에이터_채널_커뮤니티_탭/plan-task.md | 8 ++++++++ docs/20260621_크리에이터_채널_커뮤니티_탭/prd.md | 1 + 2 files changed, 9 insertions(+) diff --git a/docs/20260621_크리에이터_채널_커뮤니티_탭/plan-task.md b/docs/20260621_크리에이터_채널_커뮤니티_탭/plan-task.md index 6d166554..89361375 100644 --- a/docs/20260621_크리에이터_채널_커뮤니티_탭/plan-task.md +++ b/docs/20260621_크리에이터_채널_커뮤니티_탭/plan-task.md @@ -615,6 +615,14 @@ - GREEN: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.CreatorChannelCommunityFragmentLayoutTest"` PASS. - 회귀/빌드: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.*" --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"` PASS, `./gradlew :app:mergeDebugResources :app:compileDebugKotlin :app:ktlintCheck` PASS, `git diff --check` PASS. `ktlintCheck`는 기존 `.editorconfig disabled_rules` deprecation 경고만 출력됐다. +- 2026-07-12 썸네일형 Grid 잠금 overlay 사이즈 보정 계획: + - 요구사항: `layout_creator_channel_community_grid_locked_overlay`가 `visible` 상태일 때 `ConstraintLayout` 내부에서 숨겨지거나 0 크기로 보이지 않고, adapter가 지정한 grid item 정사각 영역 전체를 덮어야 한다. 새 잠금 UI의 lock icon과 가격 캡슐은 overlay 중앙에 표시한다. + - 수정 계획: `item_creator_channel_community_grid.xml`의 잠금 overlay는 기존 변경된 `LinearLayout` 기반 lock/price 구조를 유지하되 `match_parent` 크기와 중앙 gravity 계약을 명시한다. 관련 layout test는 새 가격 TextView ID와 overlay size/gravity 계약만 최소 갱신한다. + - 검증 계획: `CreatorChannelCommunityFragmentLayoutTest`, `mergeDebugResources`, `compileDebugKotlin`, `git diff --check`를 실행한다. 실제 기기/에뮬레이터가 연결되어 있으면 썸네일형 유료 미구매 tile 표시를 수동 확인한다. + - 수정 기록: `item_creator_channel_community_grid.xml`의 `layout_creator_channel_community_grid_locked_overlay`를 `match_parent` 크기와 `gravity="center"`로 보정해 visible 상태에서 grid item 전체를 덮고 lock icon/가격 캡슐을 중앙에 표시하도록 했다. XML 구조 변경에 맞춰 `CreatorChannelCommunityGridAdapter`의 제거된 child view binding 참조를 정리했고, layout test에 overlay size/gravity 계약을 추가했다. + - 검증: 최초 focused test는 XML에서 제거된 `ivCreatorChannelCommunityGridLock` binding 참조로 `compileDebugKotlin` 실패를 확인했고, adapter 참조 보정 후 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.CreatorChannelCommunityFragmentLayoutTest"` PASS, `./gradlew :app:mergeDebugResources` PASS, `./gradlew :app:compileDebugKotlin` PASS를 확인했다. + - 수동 확인: `adb devices` 결과 연결된 기기/에뮬레이터가 없어 실제 썸네일형 유료 미구매 tile 화면은 직접 조작 검증하지 못했다. + - 2026-06-21 Phase 2 검증: - RED: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.CreatorChannelCommunityViewModelTest" --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.CreatorChannelCommunityPaginationTest"`는 production ViewModel 구현 전 `CreatorChannelCommunityViewModel`/`CreatorChannelCommunityUiState`/`CreatorChannelCommunityViewMode` 미구현으로 `:app:compileDebugUnitTestKotlin` 실패를 확인했다. - GREEN: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.community.*"` PASS. diff --git a/docs/20260621_크리에이터_채널_커뮤니티_탭/prd.md b/docs/20260621_크리에이터_채널_커뮤니티_탭/prd.md index c9d8b7fc..a0a7e058 100644 --- a/docs/20260621_크리에이터_채널_커뮤니티_탭/prd.md +++ b/docs/20260621_크리에이터_채널_커뮤니티_탭/prd.md @@ -201,6 +201,7 @@ Sort-bar는 전체 커뮤니티 게시글 수와 현재 보기 방식을 표시 - text-only grid item의 본문 preview 길이와 줄 수는 기존 `CreatorCommunityAllGridAdapter` 정책을 우선 참고한다. - `isPinned == true`이면 Figma처럼 pin/notice icon을 grid item 상단에 표시한다. - `price > 0 && existOrdered == false`이고 본인 채널 작성자 권한도 아닌 유료 미구매 게시글은 grid item에 잠금/가격 표시를 노출한다. +- 유료 미구매 grid item의 잠금 overlay는 grid item의 실제 정사각 영역 전체를 덮고, lock icon과 가격 캡슐을 중앙 정렬로 표시한다. - 본인 또는 구매한 사용자는 grid item에 실제 이미지 또는 text preview를 표시하고 잠금 overlay를 표시하지 않는다. - grid item 터치 시 아무 동작도 수행하지 않는다. 상세 화면은 다음 범위에서 추가한다.