Skip to content

Conversation

@s9hn
Copy link
Member

@s9hn s9hn commented Aug 11, 2025

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • 하차함 -> 하차로 라벨 수정
  • 별점 401 문제 수정
  • 엠티뷰 문구 수정
  • 필터 칩 순서 변경

Summary by CodeRabbit

  • 버그 수정
    • 사용자 소설 평점이 올바르게 저장·표시되도록 수정
    • 라이브러리 필터 상단바에서 평점/매력포인트 칩이 뒤바뀌어 보이던 문제 수정
  • 스타일
    • 목록 아이템의 상태 배지 폭을 유연하게 조정하고 라벨을 한 줄로 제한해 가독성 향상
    • 읽음 상태 라벨 ‘하차함’을 ‘하차’로 통일
    • 필터 결과 없음 메시지 문구를 더 명확하게 개선

@s9hn s9hn changed the title Feat/742 fix: 서재소소 최종 QA 사항 반영 Aug 11, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 11, 2025

Walkthrough

전반적으로 QA 관련 수정으로 값 매핑 교정, 라벨/카피 텍스트 수정, 컴포넌트 레이아웃 제약 조정, 그리고 필터 칩의 바인딩 교차 변경이 포함되었습니다. 공개 API 시그니처 변화나 제어 흐름 변경은 없습니다.

Changes

Cohort / File(s) Summary
Rating 값 매핑 교정
app/src/main/java/com/into/websoso/ui/novelRating/NovelRatingViewModel.kt
NovelRatingEntity 생성 시 userNovelRating과 novelRating 할당 값이 서로 교환됨.
ReadStatus 라벨 업데이트
domain/library/src/main/java/com/into/websoso/domain/library/model/ReadStatus.kt
QUIT 라벨이 "하차함"에서 "하차"로 변경.
UI 카피 문구 수정
feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryFilterEmptyView.kt
안내 문구 두 번째 줄을 "다른 검색어를 시도해보세요" → "검색의 범위를 더 넓혀보세요"로 변경.
배지 레이아웃/텍스트 제약 조정
feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryGridListItem.kt
ReadStatusBadge 너비 .width(48.dp) → .widthIn(48.dp), 텍스트에 maxLines = 1 추가.
필터 칩 바인딩 교차
feature/library/src/main/java/com/into/websoso/feature/library/component/LibrayFilterTopBar.kt
NovelFilterChipSection에서 평점/매력포인트 칩의 라벨 및 선택 바인딩이 서로 교환됨. 기능 동작은 동일.

Sequence Diagram(s)

(생략)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Assessment against linked issues

Objective Addressed Explanation
QA 피드백 반영: 값 매핑 정확화 (#742) 이슈에 구체 항목이 없어 해당 교정이 요구사항인지 불명확.
QA 피드백 반영: 라벨/카피 텍스트 수정 (#742) 텍스트 변경이 요구된 항목인지 판단 불가.
QA 피드백 반영: 레이아웃 제약 보정 (#742) widthIn 및 maxLines 조정의 요구 여부가 명시되지 않음.
QA 피드백 반영: 필터 칩 바인딩 정정 (#742) 어떤 칩이 어떻게 변경되어야 하는지 이슈에 구체 내용이 없음.

Possibly related PRs

Suggested labels

🍯 [FEAT], ⚖️ 재상 세훈

Suggested reviewers

  • junseo511
  • yeonjeen

Poem

토끼는 귀를 쫑긋, 칩을 살짝 바꿔 끼고,
별점과 매력도, 자리 바꿈 재빠르게 하고.
“하차”라 또렷이, 말끝을 단정히 닦고,
배지 폭은 유연히, 한 줄로 예쁘게 묶고.
QA의 밭에서, 당근처럼 수정이 쑥!

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/742

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@s9hn s9hn added ♻️ [REFACTOR] 기존 코드를 리팩토링합니다. ⚖️ 재상 세훈 전지적 세훈 시점 🔨 [FIX] 버그를 수정합니다. labels Aug 11, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryFilterEmptyView.kt (1)

42-44: 문구 업데이트 LGTM. 문자열 리소스화(i18n) 권장

하드코딩된 문자열 대신 stringResource를 사용하면 다국어/카피 변경에 유리합니다.

적용 예시(라인 범위 내 변경):

-                text = "해당하는 작품이 없어요\n" +
-                    "검색의 범위를 더 넓혀보세요",
+                text = stringResource(id = R.string.library_filter_empty_message),

라인 범위 밖 보완:

  • import 추가
import androidx.compose.ui.res.stringResource
  • strings.xml 예시
<string name="library_filter_empty_message">해당하는 작품이 없어요\n검색의 범위를 더 넓혀보세요</string>
feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryGridListItem.kt (1)

14-15: Badge 폭 제약 및 한 줄 처리 보완 제안

  • .widthIn(48.dp)는 최솟값 의도이므로 명시적으로 min 파라미터를 쓰면 가독성이 좋아집니다.
  • maxLines = 1만 설정하면 기본 overflow가 Clip이라 글자가 잘릴 수 있습니다. Ellipsis를 추가해 UX를 보완하는 것을 권장합니다.
-            .widthIn(48.dp)
+            .widthIn(min = 48.dp)
         Text(
             text = readStatusUiModel.readStatus.label,
             color = White,
             style = WebsosoTheme.typography.label2,
-            maxLines = 1,
+            maxLines = 1,
+            overflow = TextOverflow.Ellipsis,
         )

Also applies to: 136-150

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ae015ff and b4004f0.

📒 Files selected for processing (5)
  • app/src/main/java/com/into/websoso/ui/novelRating/NovelRatingViewModel.kt (1 hunks)
  • domain/library/src/main/java/com/into/websoso/domain/library/model/ReadStatus.kt (1 hunks)
  • feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryFilterEmptyView.kt (1 hunks)
  • feature/library/src/main/java/com/into/websoso/feature/library/component/LibraryGridListItem.kt (3 hunks)
  • feature/library/src/main/java/com/into/websoso/feature/library/component/LibrayFilterTopBar.kt (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build
🔇 Additional comments (2)
app/src/main/java/com/into/websoso/ui/novelRating/NovelRatingViewModel.kt (1)

308-312: NovelRatingEntity 필드 매핑 적절 확인 완료

  • userNovelRating에는 호출된 파라미터(updateUserNovelRatingnovelRating)가,
    novelRating에는 NovelDetailModel.userRating.novelRating(전역 소설 평점)이 Named‐Argument로 올바르게 전달되고 있습니다.
  • 스왑 이슈 없으며, 파라미터명 변경(userRating, userNovelRating 등)은 가독성 차원에서 선택 검토 가능합니다.
feature/library/src/main/java/com/into/websoso/feature/library/component/LibrayFilterTopBar.kt (1)

112-116: 필터칩 라벨/선택 바인딩 교차 변경 확인

‘매력포인트’와 ‘평점’ 칩의 라벨/선택 바인딩을 서로 교체한 변경으로 보입니다. 의도된 QA 반영이라면 문제 없습니다. 다만 다음을 확인해 주세요:

  • UX 스펙 상 칩 순서/라벨이 기대와 일치하는지
  • 분석/로깅/딥링크가 칩 인덱스나 텍스트에 의존하지 않는지 (이전 매핑과의 호환성)

필요 시 UI 테스트 또는 스냅샷 갱신을 권장합니다.

Also applies to: 118-121

Comment on lines 7 to 10
WATCHING("WATCHING", "보는중"),
WATCHED("WATCHED", "봤어요"),
QUIT("QUIT", "하차함"),
QUIT("QUIT", "하차"),
;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

❓ Verification inconclusive

레이블 변경(“하차함” → “하차”)은 일관성 있어 보입니다. 잔존 문자열과 레이어 분리 검토 요청

  • 변경 자체는 문제 없어 보입니다. 다만 기존 문자열 “하차함”이 다른 화면/테스트/스냅샷에 하드코딩되어 있지 않은지 확인 필요합니다.
  • 도메인 레이어에서 사용자 노출용 레이블을 보관하면 i18n/디자인 시스템과의 결합이 커집니다. key만 도메인에 두고, UI에서 stringResource로 매핑하는 구조로 분리하는 것을 권장합니다.

다음 스크립트로 레포 내 잔존 문자열을 점검하세요:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# "하차함" 사용 흔적 검색
rg -n --hidden -S "하차함" -A 2 -B 2

Length of output: 89


“하차” 레이블 적용 및 문자열 잔존 여부 확인 완료

  • “하차함” 문자열은 전체 레포지토리에서 더 이상 발견되지 않습니다.
  • 도메인 레이어에 UI 표시용 문자열을 직접 보관하면 i18n/디자인 시스템과 결합도가 높아집니다. 도메인에는 key만 두고, presentation 계층에서 stringResource 등으로 매핑하는 구조로 분리하는 것을 권장합니다.
🤖 Prompt for AI Agents
domain/library/src/main/java/com/into/websoso/domain/library/model/ReadStatus.kt
lines 7-10: 현재 enum에 UI용 한글 라벨을 직접 보관하고 있으니 도메인에서 UI 문자열을 제거하고 키만 남기도록 변경하세요 — 즉
enum은 WATCHING, WATCHED, QUIT 같은 식별자(및 필요 시 영문 key)만 유지하고 "보는중", "봤어요", "하차" 등의
한글 레이블은 모두 삭제합니다; 이후 presentation 계층에서 stringResource/번역 맵핑으로 각 key에 대응되는 로컬라이즈된
문자열을 제공하도록 호출부를 변경(또는 어댑터/mapper 추가)해 도메인과 i18n/디자인 시스템 의존도를 분리하세요.

Copy link
Member

@yeonjeen yeonjeen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

땡큐쏘머치입니다:)

@s9hn s9hn merged commit 46e3fa5 into develop Aug 11, 2025
3 checks passed
@m6z1 m6z1 deleted the feat/742 branch August 11, 2025 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ [REFACTOR] 기존 코드를 리팩토링합니다. ⚖️ 재상 세훈 전지적 세훈 시점 🔨 [FIX] 버그를 수정합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: 서재소소 최종 QA 사항 반영

4 participants