Skip to content

Conversation

@doyeonk429
Copy link
Member

@doyeonk429 doyeonk429 commented Nov 8, 2025

🔗 관련 이슈

📘 작업 유형

  • ✨ Feature (기능 추가)
  • 🐞 Bugfix (버그 수정)
  • 🔧 Refactor (코드 리팩토링)
  • ⚙️ Chore (환경 설정)
  • 📝 Docs (문서 작성 및 수정)
  • ✅ Test (기능 테스트)
  • 🎨 style (코드 스타일 수정)

📙 작업 내역

  • EmotionSeed.allcases로 접근하는 부분을 위해 EmotionSeed 순서 조정
  • imageview size 설정에 문제 없는 것으로 확인 후, image asset 교체
  • sentence cell > 문장부호 추가 및 circleimage로 교체

🧪 테스트 내역

  • 브라우저/기기에서 동작 확인
  • 엣지 케이스 테스트 완료
  • 기존 기능 영향 없음

🎨 스크린샷 또는 시연 영상 (선택)

스크린샷 2025-11-08 오전 9 40 38

✅ PR 체크리스트

  • 커밋 메시지가 명확합니다
  • PR 제목이 컨벤션에 맞습니다
  • 관련 이슈 번호를 작성했습니다
  • 기능이 정상적으로 작동합니다
  • 불필요한 코드를 제거했습니다

💬 추가 설명 or 리뷰 포인트 (선택)

  • 저 화면 전반적으로 간격이 피그마랑 다른데 일단 qa로 들어온 사항 위주로 체크했습니다.

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능

    • 감정 유형별 원형 이미지 시각화 추가
  • 스타일

    • 감정 아이콘 표시 스타일 개선
    • 노트 표시 형식에 따옴표 추가

@doyeonk429 doyeonk429 self-assigned this Nov 8, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 8, 2025

워크스루

EmotionSeed 열거형에 circleImage 계산 속성을 추가하고 enum 케이스 순서를 재정렬했습니다. BookDetailViewCell에서 이를 활용하도록 변경하여 감정 이미지 표시 방식과 스타일링을 조정했으며, 노트 텍스트에 따옴표를 추가했습니다. SentenceCardViewController에서는 형식만 정리했습니다.

변경사항

응집도 / 파일 변경 요약
EmotionSeed 모델 업데이트
src/Projects/BKPresentation/Sources/MainFlow/BookDetail/Models/EmotionSeed.swift
새로운 circleImage 계산 속성 추가하여 각 감정 케이스를 해당하는 원형 이미지로 매핑. insight 케이스의 열거형 순서 변경.
BookDetailViewCell UI 스타일링
src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailViewCell.swift
emotion.image에서 emotion.circleImage로 변경. contentMode를 scaleAspectFill에서 scaleAspectFit으로 조정. 모서리 반경, 클리핑, 배경색 스타일링 제거. 노트 텍스트에 따옴표 추가.
SentenceCardViewController 포맷팅
src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/SentenceCardViewController.swift
sourceRect CGRect 초기화 코드 줄바꿈 포맷팅 (기능 변화 없음).

예상 코드 리뷰 난이도

🎯 2 (단순) | ⏱️ ~15분

  • EmotionSeed.swift: 새로운 계산 속성 구현과 enum 케이스 재정렬이 기존 기능에 미치는 영향 확인
  • BookDetailViewCell.swift: 새로운 circleImage 속성 사용 시 화면 렌더링이 의도대로 동작하는지 검증, 스타일링 제거로 인한 UI 변화 확인

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately describes the main changes: fixing icon and image errors in the book detail screen for iOS, which aligns with the actual code modifications across EmotionSeed, BookDetailViewCell, and SentenceCardViewController.
Linked Issues check ✅ Passed All requirements from issue #253 are addressed: emotion image size adjusted via circleImage property and contentMode change [감정 이미지 크기 조절], emotion image order reordered in EmotionSeed enum [감정 이미지 순서 조정], note text wrapped in quotes [문장부호 추가], and circleImage asset replacement applied [감정 이미지 에셋 교체].
Out of Scope Changes check ✅ Passed All changes are directly related to issue #253 objectives: EmotionSeed modifications, BookDetailViewCell styling updates, and SentenceCardViewController formatting. No unrelated changes detected.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BOOK-412-fix/#253

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e46cf91 and 6cd719f.

⛔ Files ignored due to path filters (12)
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/insight.imageset/insight.png is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/insight.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/insight.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/joy.imageset/joy.png is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/joy.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/joy.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/sad.imageset/sad.png is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/sad.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/sad.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/warm.imageset/warm.png is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/warm.imageset/[email protected] is excluded by !**/*.png
  • src/Projects/BKDesign/Resources/Assets.xcassets/graphics/warm.imageset/[email protected] is excluded by !**/*.png
📒 Files selected for processing (3)
  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/Models/EmotionSeed.swift (2 hunks)
  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailViewCell.swift (1 hunks)
  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/SentenceCardViewController.swift (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 157
File: src/Projects/BKPresentation/Sources/MainFlow/Home/View/HomeViewController.swift:19-24
Timestamp: 2025-08-08T01:38:59.656Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 접근성(accessibility) 관련 개선사항은 현재 작업 중인 PR에서 즉시 처리하지 않고, 접근성 전용 PR이나 이슈를 별도로 만들어 한번에 처리하는 것을 선호한다.
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 157
File: src/Projects/BKPresentation/Sources/AuthFlow/View/LoginView.swift:43-45
Timestamp: 2025-08-08T01:39:15.620Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 접근성 개선 작업을 별도의 전용 PR이나 이슈에서 일괄 처리하는 것을 선호한다. 개별 기능 구현 PR에서는 접근성 관련 제안을 하지 않고, 접근성 전담 작업에서 한번에 처리하는 방식을 원한다.
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 163
File: src/Projects/BKData/Sources/DTO/Request/UserBookRegisterRequestDTO.swift:7-9
Timestamp: 2025-08-08T16:13:31.712Z
Learning: Reed-iOS에서 서버 스펙 변경으로 DTO 필드명이 바뀔 때, doyeonk429는 코드 전반의 파라미터/시그니처 리네이밍까지 확장하지 않고, 실제 요청 직렬화 키가 맞는지(예: isbn13)만 보장하면 충분하다는 범위 최소화 방식을 선호한다. (PR: YAPP-Github/Reed-iOS#163, 파일: BKData/Sources/DTO/Request/UserBookRegisterRequestDTO.swift)
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 68
File: src/Projects/BKDesign/PreviewApp/Sources/View/BKButtonTestViewController.swift:124-133
Timestamp: 2025-07-10T08:21:49.399Z
Learning: doyeonk429는 테스트 전용으로만 사용되는 extension이나 코드는 해당 테스트 파일에 그대로 두는 것을 선호합니다. 실제 프로덕션 코드에서 사용되지 않는 테스트 전용 코드는 별도 파일로 분리하지 않고 테스트 파일 내에 유지하는 것이 그들의 코드 구성 방식입니다.
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 138
File: src/Projects/BKDesign/Resources/Assets.xcassets/icons/home.imageset/Contents.json:4-14
Timestamp: 2025-08-04T15:20:43.982Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 에셋 파일명이 영어가 아닌 경우(한글, 일본어 등)에는 경고를 받고 싶어하지만, 영어 파일명의 네이밍 컨벤션(예: home.png vs home1.png)은 기능적으로 문제없다면 신경쓰지 않는 것을 선호한다.
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 98
File: src/Projects/BKPresentation/Sources/AuthFlow/View/TermsView.swift:78-85
Timestamp: 2025-07-22T05:37:28.756Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 더미 데이터나 테스트 데이터의 구체적인 내용(예: URL 주소)에 대해서는 리뷰 시 지적하지 않기를 선호한다. 더미 데이터는 임시적이며 실제 기능 구현 시 교체될 예정이므로 URL의 구체적인 주소는 중요하지 않다고 본다.
📚 Learning: 2025-08-11T12:49:16.942Z
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 169
File: src/Projects/BKPresentation/Sources/MainFlow/Search/View/SearchResultCell.swift:31-41
Timestamp: 2025-08-11T12:49:16.942Z
Learning: In Reed-iOS project's SearchResultCell, a new BKBookSummaryView instance is created each time configure() is called rather than reusing the existing view. The old view is properly removed and set to nil in prepareForReuse(), allowing deinitialization to handle all cleanup including image downloads. Calling clearView() before removal is unnecessary in this pattern.

Applied to files:

  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/SentenceCardViewController.swift
  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailViewCell.swift
📚 Learning: 2025-07-28T10:44:32.256Z
Learnt from: clxxrlove
Repo: YAPP-Github/Reed-iOS PR: 112
File: src/Projects/BKPresentation/Sources/MainFlow/Note/View/EmotionRegistrationView.swift:52-53
Timestamp: 2025-07-28T10:44:32.256Z
Learning: clxxrlove는 EmotionRegistrationView에서 someEmotion1-4 케이스들을 임시로 구현했으며, 해당하는 그래픽 디자인이 나온 후 수정할 예정이라고 명시했다. 감정 선택 UI는 디자인 에셋 완성 후 구현하는 것을 선호한다.

Applied to files:

  • src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailViewCell.swift
⏰ 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 (4)
src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/SentenceCardViewController.swift (1)

133-138: 코드 포맷팅 개선 확인.

가독성을 위한 포맷팅 변경으로 기능적 영향은 없습니다.

src/Projects/BKPresentation/Sources/MainFlow/BookDetail/View/BookDetailViewCell.swift (1)

92-95: 문장 인용부호 추가 및 원형 이미지 적용 확인.

변경사항이 PR 목표와 일치합니다:

  • 노트 텍스트에 인용부호 추가
  • circleImage 사용으로 변경
  • .scaleAspectFit으로 변경하여 원형 이미지가 잘리지 않도록 처리
src/Projects/BKPresentation/Sources/MainFlow/BookDetail/Models/EmotionSeed.swift (2)

23-30: 모든 이미지 에셋이 정상적으로 존재하고 구성되어 있습니다.

검증 결과, circleImage 속성에서 참조하는 모든 이미지 에셋이 올바르게 정의되고 파일이 존재합니다:

  • BKImage.Graphics 정의: warmCircle, joyCircle, sadCircle, insightCircle 모두 등록됨
  • Assets.xcassets: 모든 circle 이미지에 대해 1x, 2x, 3x 해상도 변형이 포함됨

코드 변경사항을 승인합니다.


12-12: 케이스 순서 변경은 안전함. 인덱스 기반 접근 없음.

EmotionSeed.allCases 사용처 검증 결과:

  • 2곳 사용: SeedReportView에서만 allCases 접근
    • Line 93: 반복문 순회 → 감정 보고서 표시 순서 변경 (의도된 변경)
    • Line 106: 정렬 처리 → 순서 무관 (count 기준으로 재정렬)
  • 인덱스 기반 접근: 없음 (검색 결과에서 enumerated() 사용은 다른 타입들만)

PR 목표 "EmotionSeed.allCases로 접근하기 위해 EmotionSeed의 순서 조정"과 일치하며, 기존 코드와의 호환성 문제가 없습니다.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot requested a review from clxxrlove November 8, 2025 00:43
@doyeonk429 doyeonk429 added the 🐞 fix Something isn't working label Nov 8, 2025
@doyeonk429
Copy link
Member Author

@CodeRabbit 딱히 리뷰할게 없어서 리뷰 안하는거지?

@coderabbitai
Copy link

coderabbitai bot commented Nov 8, 2025

@doyeonk429 아직 이 PR에 대한 리뷰를 진행하지 않았습니다. 지금 바로 변경사항들을 검토해드리겠습니다! 🐰


🧠 Learnings used
Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 98
File: src/Projects/BKPresentation/Sources/AuthFlow/View/TermsView.swift:78-85
Timestamp: 2025-07-22T05:37:28.756Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 더미 데이터나 테스트 데이터의 구체적인 내용(예: URL 주소)에 대해서는 리뷰 시 지적하지 않기를 선호한다. 더미 데이터는 임시적이며 실제 기능 구현 시 교체될 예정이므로 URL의 구체적인 주소는 중요하지 않다고 본다.

Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 157
File: src/Projects/BKPresentation/Sources/MainFlow/Home/View/HomeViewController.swift:19-24
Timestamp: 2025-08-08T01:38:59.656Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 접근성(accessibility) 관련 개선사항은 현재 작업 중인 PR에서 즉시 처리하지 않고, 접근성 전용 PR이나 이슈를 별도로 만들어 한번에 처리하는 것을 선호한다.

Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 68
File: src/Projects/BKDesign/PreviewApp/Sources/View/BKButtonTestViewController.swift:124-133
Timestamp: 2025-07-10T08:21:49.399Z
Learning: doyeonk429는 테스트 전용으로만 사용되는 extension이나 코드는 해당 테스트 파일에 그대로 두는 것을 선호합니다. 실제 프로덕션 코드에서 사용되지 않는 테스트 전용 코드는 별도 파일로 분리하지 않고 테스트 파일 내에 유지하는 것이 그들의 코드 구성 방식입니다.

Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 138
File: src/Projects/BKDesign/Resources/Assets.xcassets/icons/home.imageset/Contents.json:4-14
Timestamp: 2025-08-04T15:20:43.982Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 에셋 파일명이 영어가 아닌 경우(한글, 일본어 등)에는 경고를 받고 싶어하지만, 영어 파일명의 네이밍 컨벤션(예: home.png vs home1.png)은 기능적으로 문제없다면 신경쓰지 않는 것을 선호한다.

Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 157
File: src/Projects/BKPresentation/Sources/AuthFlow/View/LoginView.swift:43-45
Timestamp: 2025-08-08T01:39:15.620Z
Learning: doyeonk429는 Reed-iOS 프로젝트에서 접근성 개선 작업을 별도의 전용 PR이나 이슈에서 일괄 처리하는 것을 선호한다. 개별 기능 구현 PR에서는 접근성 관련 제안을 하지 않고, 접근성 전담 작업에서 한번에 처리하는 방식을 원한다.

Learnt from: doyeonk429
Repo: YAPP-Github/Reed-iOS PR: 163
File: src/Projects/BKData/Sources/DTO/Request/UserBookRegisterRequestDTO.swift:7-9
Timestamp: 2025-08-08T16:13:31.712Z
Learning: Reed-iOS에서 서버 스펙 변경으로 DTO 필드명이 바뀔 때, doyeonk429는 코드 전반의 파라미터/시그니처 리네이밍까지 확장하지 않고, 실제 요청 직렬화 키가 맞는지(예: isbn13)만 보장하면 충분하다는 범위 최소화 방식을 선호한다. (PR: YAPP-Github/Reed-iOS#163, 파일: BKData/Sources/DTO/Request/UserBookRegisterRequestDTO.swift)
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@doyeonk429 doyeonk429 merged commit 90e9b2b into develop Nov 9, 2025
5 checks passed
@doyeonk429 doyeonk429 deleted the BOOK-412-fix/#253 branch November 9, 2025 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐞 fix Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOOK-412/qa] 도서 상세 > 아이콘,이미지 오류

3 participants