- ChatFragment에 '작품별' 탭 추가 및 프래그먼트 스위칭 로직 반영
- /api/chat/original/list API, 모델, 레포지토리, ViewModel 추가
- OriginalTabFragment/Adapter/레이아웃 구현 (3단 그리드, 간격 16dp, 이미지 라운드 16dp, 아이템 이미지의 레이아웃 비율을 306:432)
- 스크롤 끝 감지를 구현하여 무한 스크롤을 지원
- item_character_gallery.xml: set iv_image to 2:3
- activity_chat_room.xml: apply H,2:3 ratio and center frame by constraining top/bottom to parent
- item_chat_background_image.xml: set picker item to 2:3
- align dim view constraints to match background area
- ChatRoomMoreDialog에서 배경 사진 변경 Picker 연결
- my-list API 추가 및 Repository 위임 추가
- 배경 선택 Dialog(3열 Grid, 4:5 비율) 및 선택 상태 UI 구현
- SharedPreferences로 roomId별 배경 URL 저장/로드
- ChatRoomActivity에 배경 저장/적용 헬퍼 추가 및 기본 프로필 적용 로직 구현
- MoreDialog UI 구성 및 동작(배경 스위치/변경, 대화 초기화, 신고하기)
- 방별 배경 표시 SharedPreferences 저장 및 화면 반영
- TalkApi에 resetChatRoom 엔드포인트 추가, Repository 메서드 추가
- ChatRoomActivity와 다이얼로그 연동, 초기화 플로우 구현
- ServerChatMessage/ChatMessage에 messageType/imageUrl/price/hasAccess 필드 반영
- TalkApi/Repository: 유료 메시지 구매 API 연동 및 성공 시 로컬 DB 반영
- ChatRoomActivity: 구매 팝업 SodaDialog 적용(취소/잠금해제) 및 구매 성공 시 메시지 교체
- ChatMessageAdapter: 이미지 렌더링(라운드 10dp), 유료 오버레이(가격+"눌러서 잠금해제") 처리,
구매/캐러셀 오픈 콜백 추가
- 구매된 이미지 클릭 시 전체화면 캐러셀 지원
- item_chat_ai_message.xml: 메시지 UI 최대 90% 폭, 시간 텍스트 배치 개선, 이미지 4:5 비율 적용
- 그룹 메시지 간 간격 절반 적용(ItemDecoration)
- Room DB v2 마이그레이션: messageType/imageUrl/price/hasAccess 컬럼 추가로 재입장 시 표시 문제 해결
왜:
- 유료/이미지 메시지 기능 제공 및 일관된 구매 경험 필요
- 재입장 시 이미지/유료 정보 누락 문제(DB 정합) 해결
- 시간 잘림/배치 문제와 그룹 간격 시인성 개선
fix(character-detail): 탭 전환 시 프래그먼트 캐싱하여 재로딩 방지
CharacterDetailFragment에 newInstance(characterId) 도입 및 ARG 전달 구조 추가.
Fragment에서 잘못된 intent 참조 제거하고 arguments → activity.intent 순으로 안전하게 조회.
Activity 초기 진입 시 상세 탭 로딩 경로 정리 및 characterId 유효성 검사 시 종료 처리 보강.
replace 기반 교체를 add/show/hide 구조로 전환.
TAG_DETAIL/TAG_GALLERY로 인스턴스를 식별하여 FragmentManager 복원/재사용.
탭 이동 시 기존 인스턴스 표시만 수행하여 onViewCreated 재호출/네트워크 재요청 방지.
- 댓글 리스트 아이템 터치 시 답글 페이지로 전환 연결
- 상단 뒤로 가기/닫기, 입력 폼, divider, 원본 댓글, 들여 쓰기된 답글 목록 구성
- RecyclerView 최하단 도달 시 더미 데이터 추가 로드(무한 스크롤 스텁)
- 답글 등록/수정/삭제 동작 스텁 처리
- 추가 파일
- layout: fragment_character_comment_reply.xml, item_character_comment_reply.xml
- 코드: CharacterCommentReplyFragment, CharacterCommentReplyAdapter
- 변경 파일
- CharacterCommentListBottomSheet: openReply() 추가
- CharacterCommentListFragment: 아이템 클릭 시 답글 페이지 진입
- CharacterDetail 댓글 섹션 터치 시 BottomSheet 표시
- 헤더/입력폼/Divider/리스트/더보기 BottomSheet 구성
- RecyclerView 하단 도달 시 더미 데이터 추가 로드(Stub)
- 상대시간 표기(분/시간/일/년 전)
- API 연동은 이후 작업 예정 (스텁)
- 댓글 입력 필드 stroke(흰색 1dp stroke와 radius 5dp) 추가
- 입력 박스 내부 우측에 전송 아이콘(ic_message_send) 추가
- 배경 드로어블(#263238, radius 10dp) 추가
- CharacterCommentResponse에 comment(nullable) 필드 추가
- CharacterDetailActivity에서 latestComment/totalComments 바인딩 및 UI 분기 처리