-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat #93] :: 로그인 퍼블리싱 #94
The head ref may contain hidden characters: "feature/93-feat-\uB85C\uADF8\uC778-\uD37C\uBE14\uB9AC\uC2F1"
Conversation
Warning Rate limit exceeded@parkuiery has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 18 minutes and 49 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
Walkthrough이 풀 리퀘스트는 UI 컴포넌트의 패딩 및 버튼 스타일링을 개선하는 세 가지 주요 파일의 변경 사항을 포함합니다. Changes
Sequence DiagramsequenceDiagram
participant User
participant SignInScreen
participant UserInput
participant Button
User->>SignInScreen: 로그인 화면 접근
SignInScreen->>UserInput: 아이디/비밀번호 입력
UserInput-->>SignInScreen: 입력 데이터
SignInScreen->>Button: 버튼 상태 확인
Button-->>SignInScreen: 버튼 활성화/비활성화
User->>Button: 클릭
Button->>SignInScreen: 로그인 처리
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt (2)
133-134
: 비활성화(disabled) 상태 색상 재확인
primaryContainer를 비활성화 상태에 적용했을 때, 배경과의 대비가 적절한지 확인이 필요합니다.
346-346
: 키보드 상태별 버튼 외형 변경
키보드가 나타날 때 버튼 모양을 달리 처리하는 점이 특이하고 유용하지만, 사용자 혼동 여지가 있으니 주의하시기 바랍니다.feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt (2)
98-98
: 마무리 여백 혹은 추가 구성 가능성
90줄대 이후에 Spacer나 다른 레이아웃 요소로 추가 조정이 가능해 보입니다.
157-157
: 추가 Composable 분리 안내
추가적인 기능이 있다면 별도 함수로 분리하여 가독성을 더욱 높일 수 있습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
core/common/src/commonMain/kotlin/team/aliens/dms/kmp/core/common/ui/PaddingDefaults.kt
(1 hunks)core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt
(5 hunks)feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt
(2 hunks)
🔇 Additional comments (31)
core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt (9)
125-126
: Primary 버튼에서 텍스트와 테두리에 secondary 색상 적용
버튼이 활성 상태일 때 secondary 색상을 사용해 시각적으로 명확해졌습니다. 다른 버튼 컬러와의 일관성을 함께 검토하시면 좋겠습니다.
129-130
: Pressed 상태에서 onSecondaryContainer 사용
onSecondaryContainer 색상이 pressed 상태에서 충분히 대비되는지 UI 테스트가 필요해 보입니다.
319-319
: backgroundColor 파라미터 도입
버튼 배경색을 외부에서 주입 가능하게 하여, 다양한 색상 사용이 가능해졌습니다.
322-323
: borderColor 및 buttonType 파라미터 추가
테두리 색상과 버튼 유형을 상세히 지정할 수 있어 커스텀이 용이합니다.
350-357
: Outlined 버튼 분기 처리 적절
Outlined 버튼일 때만 border를 적용하는 것이 명확하여 유지보수에 용이합니다.
364-364
: 콘텐츠 중앙 정렬 확인
contentAlignment가 중앙에 설정되어 시인성이 좋습니다.
424-424
: 기존 로직과의 연동성 확인
backgroundColor가 상단에서 계산된 값을 그대로 적용받아 일관성이 유지됩니다.
427-428
: buttonType과 borderColor 파라미터 동기화
버튼 타입에 따른 테두리 로직 처리가 명확하므로, 유지보수 시 혼동이 줄어듭니다.
433-438
: 버튼 내부 텍스트 스타일 설정
padding, 스타일, 색상, 밑줄 여부가 버튼 상태에 맞춰 적용되어 일관된 UI를 제공합니다.core/common/src/commonMain/kotlin/team/aliens/dms/kmp/core/common/ui/PaddingDefaults.kt (2)
18-19
: startPadding 함수 추가
스타트 방향에만 패딩을 줄 수 있어 레이아웃 제어가 한층 유연해졌습니다.
20-21
: endPadding 함수 추가
엔드 방향에 패딩 적용이 가능해져 가로 레이아웃 구성 시 정확도가 높아집니다.feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt (20)
4-5
: 클릭 가능한 영역 추가
clickable을 통해 특정 텍스트나 아이콘을 터치 가능하게 개선되었습니다.
7-8
: Row 사용으로 수평 레이아웃 활용
안정적인 가로 방향 배치 구성이 가능해졌습니다.
10-11
: fillMaxWidth 활용
가로 공간을 전부 활용해서 배치를 쉽게 조정할 수 있습니다.
12-14
: 여백 지정으로 UI 간격 조절
padding, height 등을 활용하여 요소 간 거리가 명확해졌습니다.
18-18
: Composable 내 collectAsState 사용
ViewModel의 상태를 실시간으로 수신하여 UI 반영이 깔끔합니다.
20-20
: Alignment 선언
수직 정렬 옵션이 명시되어 있어 레이아웃 파악이 수월합니다.
22-26
: 새로운 UI 패딩 함수 활용
startPadding, endPadding 등을 통해 양옆 여백을 세밀하게 조정함으로써 디자인 품질이 향상됩니다.
27-31
: DmsButton 관련 Import
ButtonColor, ButtonType 등 다양하게 관리되어, UI 확장성이 높습니다.
33-35
: 텍스트, 텍스트필드 사용 준비
DmsText, DmsTextField를 적절히 가져오며 공통 디자인 시스템을 잘 활용합니다.
71-72
: DmsTopAppBar 추가
상단 앱 바로 화면 타이틀을 명시해 UX 가이드에 부합합니다.
73-76
: DmsSymbol 배치
로고나 심볼로 식별성을 높여 브랜드 경험을 개선할 수 있습니다.
77-85
: UserInformationInputs 호출
계정 정보 입력을 캡슐화한 컴포저블을 활용해 재사용성과 가독성을 높였습니다.
86-86
: Spacer로 가변 공간 확보
UI 구성 시 배치 여유를 나타낼 수 있어 유용합니다.
87-87
: 회원가입 유도 섹션 배치
하단에 SignupActions를 배치해 자연스러운 회원가입 유도 동선을 만듭니다.
88-97
: 로그인 버튼 구현
버튼 유형, 색상, 클릭 시점이 모두 명확히 정의되어 있으며, state.buttonEnabled로 활성 상태를 제어합니다.
99-99
: Column 맞춤 종료
Column 블록이 명확하게 끝나며 가독성이 좋습니다.
100-100
: 다음 Composable 정의 전 구분
화면 관련 Composable이 단계적으로 구분되어 있습니다.
101-110
: UserInformationInputs 시그니처
ID와 비밀번호 입력 콜백을 분리해 확장성을 높였으며, 찾기/재설정 기능도 별도 콜백으로 제공됩니다.
111-156
: UserInformationInputs 내부 구성
TextField, 클릭 가능한 Text, Divider 등을 모아 한 컴포넌트로 유지하여 화면 구성이 깔끔해졌습니다.
158-181
: SignupActions 구현
회원가입 유도 UI를 독립된 Composable로 정의하여 재사용성과 유지보수성을 확보했습니다.
There was a problem hiding this 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 (3)
feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt (2)
121-121
: 오타 수정 필요"비빌번호"를 "비밀번호"로 수정해야 합니다.
- hint = "비빌번호", + hint = "비밀번호",
129-150
: 접근성 개선 제안클릭 가능한 텍스트에 대한 접근성을 개선하기 위해 다음 사항을 고려해 주세요:
- 시맨틱 의미를 가진 컴포넌트 사용 (예: Button)
- 터치 영역 확장
- 클릭 피드백 추가
- DmsText( - modifier = Modifier.clickable( - onClick = onFindId, - ), + DmsText( + modifier = Modifier + .padding(vertical = 8.dp) // 터치 영역 확장 + .clickable( + onClick = onFindId, + indication = rememberRipple(), // 클릭 피드백 + ),core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt (1)
351-359
: Border 로직 모듈화 제안Outlined 버튼의 테두리 스타일링 로직을 재사용 가능한 확장 함수로 분리하면 코드의 가독성과 재사용성이 향상될 것 같습니다.
+ private fun Modifier.outlinedBorder( + enabled: Boolean, + shape: Shape, + borderColor: Color + ) = then( + if (enabled) { + Modifier.border(1.dp, borderColor, shape) + } else { + Modifier + } + ) - .then( - if (buttonType == ButtonType.Outlined) { - Modifier.border( - 1.dp, - color = borderColor, - shapeByKeyboardShow, - ) - } else { - Modifier - }, - ) + .outlinedBorder( + enabled = buttonType == ButtonType.Outlined, + shape = shapeByKeyboardShow, + borderColor = borderColor + )
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt
(5 hunks)core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/textfield/DmsTextField.kt
(0 hunks)feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt
(2 hunks)
💤 Files with no reviewable changes (1)
- core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/textfield/DmsTextField.kt
🔇 Additional comments (4)
feature/signin/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signin/ui/SignInScreen.kt (2)
68-95
: 레이아웃 구조가 잘 구성되어 있습니다!
- 상단 앱바, 로고, 입력 필드, 하단 버튼의 배치가 Material Design 가이드라인을 잘 따르고 있습니다.
- Spacer를 사용한 flexible spacing이 적절합니다.
155-178
: 회원가입 섹션이 깔끔하게 구현되었습니다!레이아웃과 텍스트 스타일링이 일관성 있게 적용되었습니다.
core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsButton.kt (2)
124-133
: 버튼 색상 변경이 적절합니다!Primary 버튼의 Outlined 상태에서 색상을
secondary
로 변경한 것이 더 나은 대비를 제공합니다.
436-442
: 텍스트 스타일링이 잘 구현되었습니다!버튼 타입에 따른 텍스트 스타일과 장식이 적절하게 처리되었습니다.
onFindId = {}, | ||
onResetPassword = {}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
네비게이션 콜백이 구현되지 않음
SignInScreen
에서 사용되는 onFindId
와 onResetPassword
콜백이 상위 컴포넌트인 AuthNavigation
에서 빈 람다로 구현되어 있습니다. 이는 아이디 찾기와 비밀번호 재설정 기능이 아직 구현되지 않았음을 의미합니다.
다음 위치에서 네비게이션 구현이 필요합니다:
composeApp/src/commonMain/kotlin/team/aliens/dms/kmp/navigation/authorized/AuthNavigation.kt
의navigateToFindId
와navigateToFindPassword
콜백
🔗 Analysis chain
빈 콜백 함수 구현 필요
onFindId
와 onResetPassword
콜백이 비어 있습니다. 이는 사용자가 ID 찾기나 비밀번호 재설정 버튼을 클릭했을 때 아무런 동작이 없다는 것을 의미합니다.
Let me check if there are any navigation-related implementations for these callbacks.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if these callbacks are implemented elsewhere
rg "onFindId|onResetPassword" -A 5
Length of output: 3258
Script:
#!/bin/bash
# Check for navigation-related implementations
rg "navigateTo.*(?i)(findid|resetpassword|password)" -A 5
Length of output: 11150
개요
작업사항
추가 로 할 말
Summary by CodeRabbit
새로운 기능
버그 수정
사용자 경험 개선