Conversation
feat: 나의 활동 api 연결
|
Caution Review failedThe pull request is closed. 개요피드 화면을 View 기반에서 Jetpack Compose 기반으로 전환하고, 피드 관련 기능을 데이터/도메인/피처 모듈로 분리하는 대규모 리팩토링입니다. 네트워크 API 및 데이터 모델을 확장하고, 새로운 UI 컴포넌트와 디자인 시스템 요소를 추가합니다. 변경사항
예상 코드 리뷰 소요시간🎯 4 (복잡함) | ⏱️ ~60분 설명: 이 PR은 매우 광범위한 변경사항을 포함합니다. UI 계층의 대규모 마이그레이션(FeedFragment 전체 재작성), 아키텍처 계층 전반의 리팩토링(네트워크, 데이터, 도메인 모듈 분리), 새로운 feature 모듈 추가, 그리고 25개 이상의 새로운 Compose 컴포넌트 및 모델 추가가 포함되어 있습니다. 변경사항이 매우 이질적이며(UI, 데이터 계층, 모듈 구조, 디자인 시스템 등 다양한 영역), 각 영역에 대한 별도의 검토 논리가 필요합니다. 특히 피드백 메커니즘 변경, 캐싱 전략, API 서명 변경, 그리고 새로운 ViewModel 구현에 주의가 필요합니다. 관련된 가능성 있는 PR들
제안된 레이블
제안된 리뷰어
시
✨ Finishing touches
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (71)
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 |
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
ktlint
🚫 [ktlint] standard:blank-line-between-when-conditions reported by reviewdog 🐶
Add a blank line between all when-conditions in case at least one multiline when-condition is found in the statement
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
🚫 [ktlint] standard:no-consecutive-blank-lines reported by reviewdog 🐶
Needless blank line(s)
🚫 [ktlint] standard:function-signature reported by reviewdog 🐶
No whitespace expected between opening parenthesis and first parameter name
🚫 [ktlint] standard:function-signature reported by reviewdog 🐶
No whitespace expected between last parameter and closing parenthesis
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Unexpected newline before '.'
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:class-signature reported by reviewdog 🐶
Newline expected after opening parenthesis
🚫 [ktlint] standard:class-signature reported by reviewdog 🐶
Newline expected before closing parenthesis
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:if-else-bracing reported by reviewdog 🐶
All branches of the if statement should be wrapped between braces if at least one branch is wrapped between braces
🚫 [ktlint] standard:if-else-wrapping reported by reviewdog 🐶
Expected a newline
🚫 [ktlint] standard:multiline-if-else reported by reviewdog 🐶
Missing { ... }
🚫 [ktlint] standard:function-expression-body reported by reviewdog 🐶
Function body should be replaced with body expression
🚫 [ktlint] standard:class-signature reported by reviewdog 🐶
Newline expected after opening parenthesis
🚫 [ktlint] standard:class-signature reported by reviewdog 🐶
Newline expected before closing parenthesis
| CreateFeed.RESULT_OK, | ||
| OtherUserProfileBack.RESULT_OK, | ||
| -> { | ||
| -> { |
There was a problem hiding this comment.
🚫 [ktlint] standard:indent reported by reviewdog 🐶
Unexpected indentation (24) (should be 20)
| onFirstItemClick = { feedId, isMyFeed -> | ||
| when (isMyFeed) { | ||
| true -> navigateToFeedEdit(feedId) | ||
| false -> showDialog<DialogReportPopupMenuBinding>( |
There was a problem hiding this comment.
🚫 [ktlint] standard:blank-line-between-when-conditions reported by reviewdog 🐶
Add a blank line between all when-conditions in case at least one multiline when-condition is found in the statement
| @@ -0,0 +1,39 @@ | |||
| package com.into.websoso.core.common.extensions | |||
|
|
|||
| /** | |||
There was a problem hiding this comment.
🚫 [ktlint] standard:kdoc reported by reviewdog 🐶
A dangling toplevel KDoc is not allowed
| debounceTime: Long = 500L, | ||
| enabled: Boolean = true, | ||
| onClick: () -> Unit, | ||
| ): Modifier = composed { |
There was a problem hiding this comment.
🚫 [ktlint] standard:function-signature reported by reviewdog 🐶
Newline expected before expression body
| package com.into.websoso.core.common.extensions | ||
|
|
||
| fun Float?.orDefault(defaultValue: Float = 0f) = this ?: defaultValue | ||
| fun Long?.orDefault(defaultValue: Long = 0L) = this ?: defaultValue |
There was a problem hiding this comment.
🚫 [ktlint] standard:blank-line-before-declaration reported by reviewdog 🐶
Expected a blank line for this declaration
| private val getMyFeedsUseCase: GetMyFeedsUseCase, | ||
| private val feedRepository: FeedRepository, | ||
| ) : ViewModel() { | ||
|
|
There was a problem hiding this comment.
🚫 [ktlint] standard:no-empty-first-line-in-class-body reported by reviewdog 🐶
Class body should not start with blank line
| */ | ||
| fun updateTab(tab: FeedTab) { | ||
| _uiState.update { it.copy(selectedTab = tab) } | ||
| if (uiState.value.currentData.feeds.isEmpty()) fetchNextPage() |
There was a problem hiding this comment.
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
|
|
||
| Log.d("123123 카테고리", category.toString()) | ||
| _uiState.update { it.copy(sosoCategory = category) } | ||
| if (uiState.value.currentData.feeds.isEmpty()) fetchNextPage() |
There was a problem hiding this comment.
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
| runCatching { | ||
| when (state.selectedTab) { | ||
| FeedTab.MY_FEED -> getMyFeedsUseCase(lastFeedId = lastFeedId) | ||
| FeedTab.SOSO_FEED -> getFeedsUseCase( |
There was a problem hiding this comment.
🚫 [ktlint] standard:blank-line-between-when-conditions reported by reviewdog 🐶
Add a blank line between all when-conditions in case at least one multiline when-condition is found in the statement
| lastId = result.feeds.lastOrNull()?.id ?: 0, | ||
| isLoadable = result.isLoadable, | ||
| ) | ||
| currentState.updateCurrentSource(updatedData = updatedSource) |
There was a problem hiding this comment.
🚫 [ktlint] standard:chain-method-continuation reported by reviewdog 🐶
Expected newline before '.'
📌𝘐𝘴𝘴𝘶𝘦𝘴
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
Summary by CodeRabbit
릴리스 노트
New Features
Refactor
Chores
✏️ Tip: You can customize this high-level summary in your review settings.