feat: 1.9.0 업데이트#923
Merged
Merged
Conversation
build: 앱 버전 정보 업데이트
- `NovelApi` 및 `NovelRepository`: 작품 필터링 API 호출 시 `platformNames` 쿼리 파라미터 추가 - `DetailExploreFilteredModel`: 필터 데이터 모델에 `platformNames` 필드 추가 - `GetDetailExploreResultUseCase`: 플랫폼 필터링 조건을 처리하고, 캐시 유효성 검사 로직(`isCacheValid`)에 플랫폼 비교 추가 - `DetailExploreResultViewModel`: 플랫폼 필터 상태(`filterPlatformNames`)를 관리하고 검색 및 데이터 로드 로직에 반영
- `Platform.kt`: 카카오페이지, 네이버시리즈 등 플랫폼 정보를 정의하는 Enum Class 생성 - `DetailExploreViewModel`: 선택된 플랫폼 상태를 관리하는 `selectedPlatforms` LiveData 및 업데이트 로직 구현 - `DetailExploreActivity`: 검색 결과 화면으로 이동 시 선택된 플랫폼의 `apiName` 리스트를 전달하도록 수정 - 필터 초기화 및 선택 여부 확인(isInfoChipSelected) 로직에 플랫폼 항목 통합 적용
- `MainActivity.kt`: `intent.getSerializableExtra`를 직접 호출하던 로직을 하위 호환성 및 안정성을 고려한 `getAdaptedSerializableExtra` 확장 함수 사용 방식으로 변경
- `DetailExploreInfoTab.kt`: 플랫폼 선택 로직을 위한 `selectedPlatforms` 상태 구독 및 `PlatformSection` 컴포저블 구현 - `strings.xml`: 플랫폼 섹션 타이틀에 사용할 문자열 리소스(`detail_explore_info_platform`) 추가
- `DetailExploreResultViewModel`: `_appliedFiltersMessage`의 관찰 대상(Source)에 `filterPlatformNames` 추가 - `updateMessage` 함수에서 플랫폼 필터 선택 여부를 확인하여 "플랫폼" 라벨이 노출되도록 로직 수정 - Companion object 내 "플랫폼" 텍스트를 위한 `PLATFORMS_LABEL` 상수 추가
- `DetailExploreInfoTab.kt`: 플랫폼 섹션 타이틀에 사용할 `detail_explore_info_platform` 문자열 리소스 임포트 추가
- `DetailExploreInfoTab.kt`: 플랫폼 선택 섹션의 `FlowRow`를 삭제하고, 플랫폼 항목을 두 줄로 나누어 배치하기 위해 `Column` 및 `PlatformChipRow` 구조로 변경 - `PlatformChipRow`: 플랫폼 리스트를 전달받아 가로 형태의 칩 행을 생성하는 내부 컴포저블 구현
- `DetailExploreViewModel.kt`: 선택된 플랫폼 리스트를 `apiName` 리스트로 변환하여 반환하는 `getSelectedPlatformApiNames` 함수 추가 - `DetailExploreActivity.kt`: `navigateToSearchResult` 내에서 플랫폼 이름을 추출하던 로직을 ViewModel의 `getSelectedPlatformApiNames` 호출 방식으로 변경하여 캡슐화 개선
- `Color.kt`: Primary 색상 체계에 `Primary30`(0xFFEFF0FF) 상수 추가
- `DetailExploreInfoTab.kt`: 플랫폼 섹션 타이틀에 툴팁 기능을 포함한 `PlatformSectionTitle` 컴포저블 구현 및 적용 - `PlatformTooltipShape`: 툴팁을 위한 좌측 화살표 모양의 커스텀 `Shape` 정의 - `rememberPlatformTooltipPositionProvider`: 툴팁이 아이콘 우측에 위치하도록 하는 `PopupPositionProvider` 구현 - `strings.xml`: 플랫폼 섹션 툴팁에 노출될 안내 문구 리소스(`detail_explore_info_platform_tooltip`) 추가
- `DetailExploreScreen.kt`: `onResetClick` 콜백을 정의하고, `DetailExploreCtaButton`에 전달하도록 수정 - `DetailExploreCtaButton.kt`: 기존 단일 검색 버튼 구조에서 초기화 버튼(`ResetButton`)과 검색 버튼(`SearchButton`)이 나란히 배치된 가로 레이아웃으로 변경 - `Color.kt`: 디자인 시스템 내 `Gray60`(0xFFE4E4E7) 색상 상수 추가
- `DetailExploreViewModel.kt`: `getSelectedPlatformApiNames` 호출 시 `Platform.entries`를 기준으로 필터링하여 enum 정의 순서대로 API 이름 리스트를 반환하도록 로직 수정
- `GetDetailExploreResultUseCase.kt`: `platformNames` 비교 시 불필요한 `equals()` 호출 및 null 체크 로직을 Kotlin의 `==` 연산자를 사용하는 방식으로 변경하여 간소화 - platformNames == previousPlatformNames로 비교하여 "플랫폼 미선택" 상태도 동일 필터로 재사용 되도록 변경
- `DetailExploreInfoTab.kt`: 플랫폼 섹션 툴팁의 크기를 고정 수치(`size`)에서 최소 너비(`widthIn`) 및 최소 높이(`defaultMinSize`) 설정으로 변경하여 텍스트 길이에 대응할 수 있도록 수정
feat: 작품 검색에 플랫폼 추가
feat: 서재 필터 개발
- `DetailExploreCtaButton.kt`: 검색 버튼 텍스트에 적용된 타이포그래피 스타일을 `title1`에서 `title2`로 변경
- `DetailExploreScreen.kt`: `DetailExploreAppBar` 호출부에서 사용되지 않는 `onResetClick` 파라미터 제거 - `DetailExploreAppBar.kt`: 상단 바 우측의 초기화 버튼(아이콘 및 텍스트) UI 구현부 삭제 및 관련 파라미터(`onResetClick`), 리소스 임포트 제거
fix: 플랫폼 필터 1차 QA
- 서재 필터 바텀시트 정비: 칩 좌우 패딩, 탭 로우 트레일링 패딩, 읽기상태 구분선, 선택 칩 영역/하단 가로선, 시트 높이 고정(칩 선택 시 콘텐츠 하향), 별점 토글 thumb 크기 고정 - 초기화/작품 찾기 버튼을 작품 탐색 탭 버튼과 동일하게 통일 - 정렬 바텀시트: 텍스트 중앙 정렬 유지 + 체크 오버레이, 선택 스타일(라운드 40, Primary20), 색상/타이포 수정 - 연재상태 필터 요청 파라미터 오타 수정 (isComplete → isCompleted) - 등록 키워드 미표시(userId 레이스) 수정: userId 반응형(StateFlow) 노출 후 유효값 대기
- 별점 등록 안된 작품만 보기 텍스트 색상 Gray300으로 변경 - 등록 키워드 미표시 수정: 필터 시트 열 때마다 등록 키워드 재조회 - 선택 칩과 하단 가로선 사이 세로 간격 12dp 추가
- 체크 아이콘을 글자 왼쪽 12dp에 배치 (좌우 대칭 슬롯으로 텍스트 중앙 정렬 유지) - 선택 항목 라운드 40dp → 12dp
- 최신순 버튼 줄 10dp 아래에 Gray50 가로선(1dp) 전체 너비로 추가
fix: 1.9.0 QA
- 별점 토글 썸 크기 ON/OFF 통일 및 18dp로 조정 - 하차 작품의 종료일 단독 표시되도록 날짜 포맷터 수정 - 정렬 바 아래 가로선 하단 여백 제거 - 상단바 작품 추가 아이콘과 필터 칩 간 시각 간격 17dp로 조정 - 필터 바텀시트 칩 스펙 복원(body2, 좌우 13dp) - 읽기상태 세로 구분선 높이 32dp 고정 - 메인 필터 칩 내부 패딩 9.5/6.5dp 조정 및 칩 행 끝 20dp 여백 추가 - 연재상태 탭 라벨 띄어쓰기 수정
fix: 서재 1.9.0 QA 후속 수정
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌𝘐𝘴𝘴𝘶𝘦𝘴
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵
💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴