Skip to content

feat: 컬렉션 작품 검색 화면 기본 UI 및 내비게이션 구현 - #945

Open
devfeijoa wants to merge 5 commits into
feat/935from
feat/936
Open

feat: 컬렉션 작품 검색 화면 기본 UI 및 내비게이션 구현#945
devfeijoa wants to merge 5 commits into
feat/935from
feat/936

Conversation

@devfeijoa

@devfeijoa devfeijoa commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

📌𝘐𝘴𝘴𝘶𝘦𝘴

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

  • 컬렉션 생성 화면의 작품 추가 영역에서 작품 검색 화면으로 이동하도록 연결했습니다.
  • 작품 검색 화면의 앱바와 뒤로가기 동작을 구현했습니다.
  • 작품 제목과 작가를 입력할 수 있는 검색 필드를 구현했습니다.
  • 검색어 초기화 버튼과 검색 아이콘을 적용했습니다.
  • 화면 진입 시 검색 필드에 자동으로 포커스하고 키보드를 표시합니다.
  • 검색어 입력 상태는 rememberSaveable로 관리합니다.
  • 컬렉션 목록·생성·작품 검색 화면의 앱바를 공통 컴포넌트로 통합했습니다.

검증

  • ./gradlew :feature:collection:compileDebugKotlin ktlintCheck --console=plain
  • 컬렉션 모듈 Debug 컴파일 성공
  • ktlint 성공
  • push 전 전체 단위 테스트 및 앱 Debug 빌드 성공

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

Screen_recording_20260818_202225.mp4

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

  • 컬렉션 생성 화면에서 작품 검색 화면으로 이동하는 흐름과 검색 필드 UI를 확인 부탁드립니다.
  • 실제 검색 요청, 검색 결과, 작품 선택 및 서재 조회 기능은 포함하지 않습니다.
  • Base: feat/935
  • Head: feat/936

Summary by CodeRabbit

  • 새로운 기능
    • 컬렉션 생성 화면에서 작품 추가를 위한 검색 화면으로 이동할 수 있습니다.
    • 검색어 입력, 초기화, 키보드 검색 기능을 제공합니다.
    • 컬렉션 화면의 앱 바에 제목과 완료 액션이 표시됩니다.
  • 개선
    • 작품 추가 카드와 앱 바의 상호작용 및 상태 표시를 개선했습니다.

- `CollectionNovelSearchScreen.kt`: 작품 검색을 위한 임시 화면 및 레이아웃 구현
- `CollectionNovelSearchAppBar.kt`: 작품 검색 화면 전용 앱바 추가
- `CollectionNovelSection.kt`: 작품 추가 카드 클릭 시 `onAddNovelClick` 콜백이 실행되도록 수정하고, 클릭 피드백을 위한 `clickable` 및 `clip` 속성 적용
- `CollectionNavHost.kt`: 작품 검색 경로(`COLLECTION_NOVEL_SEARCH_ROUTE`) 정의 및 내비게이션 그래프 내 화면 추가
- `CollectionNovelSearchField.kt`: 작품 제목 및 작가 검색을 위한 검색 필드 컴포저블 구현
- `CollectionNovelSearchAppBar.kt`: 완료 버튼의 활성화 상태에 따른 색상 변경 로직 추가 및 `isCompleteEnabled` 파라미터 정의
- `CollectionNovelSearchField.kt`: 기존의 정적 텍스트를 `BasicTextField`로 교체하여 실제 입력이 가능하도록 수정하고, 검색어 삭제를 위한 클리어 버튼 추가
- `CollectionNovelSearchScreen.kt`: `searchQuery` 상태 관리 로직을 추가하고, `LaunchedEffect`를 통해 화면 진입 시 검색 필드 자동 포커스 및 키보드 노출 기능 구현
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 29045a4c-0484-4953-b1a3-a5a2cc49f4f5

📥 Commits

Reviewing files that changed from the base of the PR and between 7345478 and 0596a7f.

📒 Files selected for processing (8)
  • feature/collection/src/main/java/com/into/websoso/feature/collection/CollectionCreateScreen.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/CollectionNavHost.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/CollectionNovelSearchScreen.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/CollectionScreen.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/component/CollectionAppBar.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/component/CollectionCreateAppBar.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/component/CollectionNovelSearchField.kt
  • feature/collection/src/main/java/com/into/websoso/feature/collection/component/CollectionNovelSection.kt
💤 Files with no reviewable changes (1)
  • feature/collection/src/main/java/com/into/websoso/feature/collection/component/CollectionCreateAppBar.kt

Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review.


Walkthrough

컬렉션 앱바를 공통화하고 제목과 완료 액션을 지원하도록 변경했습니다. 컬렉션 생성 화면에 작품 검색 이동을 연결했습니다. 검색어 입력, 초기 포커스, 키보드 표시를 포함한 작품 검색 화면과 검색 필드를 추가했습니다.

Changes

컬렉션 작품 검색

Layer / File(s) Summary
공통 앱바 확장
feature/collection/.../component/CollectionAppBar.kt, feature/collection/.../CollectionCreateScreen.kt, feature/collection/.../CollectionScreen.kt
CollectionAppBar가 제목, 액션 라벨, 액션 활성화 상태를 받습니다. 컬렉션 생성 화면은 "완료" 액션을 사용하고, 컬렉션 화면은 "컬렉션" 제목을 사용합니다.
작품 검색 진입 연결
feature/collection/.../CollectionCreateScreen.kt, feature/collection/.../CollectionNavHost.kt, feature/collection/.../component/CollectionNovelSection.kt
작품 추가 카드가 클릭 이벤트를 제공합니다. 컬렉션 생성 화면은 작품 검색 라우트로 이동하고, CollectionNavHostCollectionNovelSearchScreen을 표시합니다.
작품 검색 화면 UI
feature/collection/.../CollectionNovelSearchScreen.kt, feature/collection/.../component/CollectionNovelSearchField.kt
검색어 상태와 TextFieldValue.Saver를 추가했습니다. 화면 진입 시 포커스와 키보드를 요청합니다. 검색 필드는 입력, 초기화, 검색 IME 동작을 지원합니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 0596a

This PR adds the collection work search screen UI and navigation without introducing an actionable merge-blocking risk; it is merge-ready after normal checks and review.

Sequence Diagram(s)

sequenceDiagram
  participant CollectionCreateScreen
  participant CollectionNovelSection
  participant CollectionNavHost
  participant CollectionNovelSearchScreen
  participant CollectionNovelSearchField

  CollectionCreateScreen->>CollectionNovelSection: 작품 추가 콜백 연결
  CollectionNovelSection->>CollectionCreateScreen: 작품 추가 클릭
  CollectionCreateScreen->>CollectionNavHost: 작품 검색 라우트 요청
  CollectionNavHost->>CollectionNovelSearchScreen: 검색 화면 표시
  CollectionNovelSearchScreen->>CollectionNovelSearchField: 검색어와 포커스 요청자 전달
  CollectionNovelSearchField->>CollectionNovelSearchScreen: 검색어 변경 또는 초기화 전달
Loading

Suggested reviewers: s9hn, m6z1, sadturtleman

Poem

토끼가 앱바를 깡충 단장하고
작품 검색 길을 활짝 열었네.
검색창은 먼저 포커스하고
키보드는 살포시 따라와
컬렉션 책장을 채워 가네.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning 검색 화면 진입, 검색 필드, 자동 포커스, 공통 앱바는 구현했지만 작품 리스트 화면과 서재 진입 기능은 구현하지 않았습니다 [#936]. 작품 리스트 표시와 작품 선택 후 서재 진입 흐름을 구현하거나, #936에서 해당 요구사항을 별도 이슈로 분리하세요.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed 제목은 컬렉션 작품 검색 화면의 기본 UI와 내비게이션 구현이라는 PR의 주요 변경 사항을 정확하게 설명합니다.
Description check ✅ Passed 이슈, 작업 내용, 검증 결과, 스크린샷, 리뷰 요청 사항을 포함하여 템플릿의 필수 내용을 대부분 충족합니다.
Out of Scope Changes check ✅ Passed 변경 사항은 컬렉션 작품 검색 화면의 UI, 내비게이션, 검색 필드, 공통 앱바라는 PR 목표 범위에 포함됩니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/936

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.

@devfeijoa
devfeijoa requested a review from Sadturtleman August 18, 2026 11:18
@devfeijoa
devfeijoa marked this pull request as ready for review August 18, 2026 11:19
@github-actions
github-actions Bot requested review from m6z1 and s9hn August 18, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 컬렉션 작품 검색 화면 기본 UI 및 내비게이션 구현

1 participant