Skip to content
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 #84] :: 신청 화면 퍼블리싱 #85

Merged
merged 4 commits into from
Dec 4, 2024

Conversation

parkuiery
Copy link
Member

@parkuiery parkuiery commented Dec 3, 2024

개요

Android iOS Desktop

작업사항

추가 로 할 말

Summary by CodeRabbit

  • 새로운 기능

    • DmsLargeTopAppBar의 백 버튼 레이아웃 개선: onBackPressed 콜백에 따라 백 버튼이 항상 표시되도록 변경.
    • DmsIconButton의 기본 색상 설정: tint 파라미터에 기본값 추가.
    • TermsScreenAllAgreeButton 색상 로직 간소화.
  • 버그 수정

    • 없음.
  • 문서화

    • 없음.
  • 리팩토링

    • 색상 할당 로직을 간소화하여 가독성 향상.

@parkuiery parkuiery added the feat 새로운 기능을 추가 할 경우 label Dec 3, 2024
@parkuiery parkuiery self-assigned this Dec 3, 2024
@parkuiery parkuiery linked an issue Dec 3, 2024 that may be closed by this pull request
1 task
Copy link
Contributor

coderabbitai bot commented Dec 3, 2024

Walkthrough

이 PR은 DmsTopAppBar.kt, DmsIconButton.kt, build.gradle.kts, 및 TermsScreen.kt 파일의 여러 변경 사항을 포함합니다. DmsTopAppBar.kt에서 DmsLargeTopAppBar의 레이아웃을 수정하여 백 버튼을 별도의 Row로 이동시켰습니다. DmsIconButton.kt에서는 tint 매개변수에 기본값을 추가하고 클릭 가능한 영역을 Box로 정의했습니다. build.gradle.kts에 새 종속성을 추가하고, TermsScreen.kt에서는 AllAgreeButton의 색상 할당 로직을 간소화했습니다.

Changes

파일 경로 변경 요약
core/design-system/src/commonMain/kotlin/team/.../DmsTopAppBar.kt DmsLargeTopAppBar의 백 버튼 레이아웃을 수정하여 별도의 Row로 이동.
core/design-system/src/commonMain/kotlin/team/.../DmsIconButton.kt tint 매개변수에 기본값 추가 및 클릭 가능한 영역을 Box로 변경.
feature/application/build.gradle.kts commonMain 소스 세트에 compose.components.resources, projects.core.designSystem, projects.core.common 종속성 추가.
feature/signup/src/commonMain/kotlin/team/.../TermsScreen.kt AllAgreeButton의 색상 할당 로직을 단일 라인으로 간소화.

Possibly related issues

  • team-aliens/DMS-KMP#84: 신청 화면 퍼블리싱과 관련된 변경 사항이 포함되어 있을 수 있음.

Possibly related PRs

Suggested labels

setting

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?

❤️ 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • 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 generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @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 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.

Copy link
Contributor

@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: 0

🧹 Outside diff range and nitpick comments (4)
core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsIconButton.kt (1)

24-24: 기본 tint 색상에 대한 문서화가 필요합니다

tint 매개변수에 기본값을 추가한 것은 좋은 변경이지만, 이 기본값을 사용하는 상황과 그 의도를 문서화하면 좋을 것 같습니다.

core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/appbar/DmsTopAppBar.kt (1)

93-102: 뒤로 가기 버튼 레이아웃 구조 개선이 필요합니다

뒤로 가기 버튼을 위한 Row 컴포넌트가 반복적으로 사용되고 있습니다. 이 부분을 별도의 private 컴포저블 함수로 추출하면 코드 재사용성과 유지보수성이 향상될 것 같습니다.

다음과 같은 리팩토링을 제안합니다:

+@Composable
+private fun DmsBackButton(
+    modifier: Modifier = Modifier,
+    onBackPressed: () -> Unit,
+) {
+    Row(
+        modifier = modifier
+            .fillMaxWidth()
+            .padding(
+                horizontal = 16.dp,
+                vertical = 12.dp,
+            ),
+        verticalAlignment = Alignment.CenterVertically,
+    ) {
+        DmsIconButton(
+            resource = DmsIcon.ArrowBack,
+            tint = DmsTheme.colors.surfaceContainerLow,
+            onClick = onBackPressed,
+        )
+    }
+}

 @Composable
 fun DmsLargeTopAppBar(
     modifier: Modifier = Modifier,
     onBackPressed: (() -> Unit)? = null,
     title: String,
     description: String? = null,
 ) {
     Column(
         modifier = modifier
             .fillMaxWidth()
             .background(DmsTheme.colors.background),
     ) {
         onBackPressed?.let {
-            Row(
-                modifier = Modifier
-                    .fillMaxWidth()
-                    .padding(
-                        horizontal = 16.dp,
-                        vertical = 12.dp,
-                    ),
-                verticalAlignment = Alignment.CenterVertically,
-            ) {
-                DmsIconButton(
-                    resource = DmsIcon.ArrowBack,
-                    tint = DmsTheme.colors.surfaceContainerLow,
-                    onClick = it,
-                )
-            }
+            DmsBackButton(onBackPressed = it)
         }
feature/signup/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signup/ui/TermsScreen.kt (2)

Line range hint 132-140: 클릭 이벤트 처리 개선 제안

현재 클릭 이벤트 처리에서 상태 변경과 콜백 호출이 분리되어 있습니다. 이를 다음과 같이 개선할 수 있습니다:

-onClick = {
-    isCheck = !isCheck
-    onAllAgreeButtonClick(isCheck)
-},
+onClick = {
+    val newState = !isCheck
+    isCheck = newState
+    onAllAgreeButtonClick(newState)
+},

이렇게 하면:

  1. 상태 변경값을 한 번만 계산
  2. 일관된 값이 전달됨을 보장
  3. 코드의 의도가 더 명확해짐

Line range hint 119-151: 접근성 개선 제안

클릭 가능한 영역에 대한 접근성 설명이 누락되어 있습니다.

 Row(
     modifier = Modifier
         .fillMaxWidth()
         .topPadding(PaddingDefaults.ExtraLarge)
         .horizontalPadding()
         .background(
             color = background,
             shape = RoundedCornerShape(8.dp),
         )
         .clickable(
             interactionSource = null,
             indication = null,
+            role = androidx.compose.ui.semantics.Role.Checkbox,
             onClick = {
                 isCheck = !isCheck
                 onAllAgreeButtonClick(isCheck)
             },
         )
+        .semantics { 
+            contentDescription = if (isCheck) "전체 동의 해제" else "전체 동의"
+        }
         .padding(PaddingDefaults.Large),
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3cac487 and 27bc533.

📒 Files selected for processing (4)
  • core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/appbar/DmsTopAppBar.kt (1 hunks)
  • core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsIconButton.kt (1 hunks)
  • feature/application/build.gradle.kts (1 hunks)
  • feature/signup/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signup/ui/TermsScreen.kt (1 hunks)
🔇 Additional comments (3)
feature/application/build.gradle.kts (1)

45-48: 의존성 추가가 적절합니다!

리소스 컴포넌트와 디자인 시스템, 공통 모듈의 의존성 추가는 신청 화면 퍼블리싱 작업에 필요한 적절한 변경사항입니다.

core/design-system/src/commonMain/kotlin/team/aliens/dms/kmp/core/designsystem/button/DmsIconButton.kt (1)

Line range hint 31-39: FIXME 주석에 대한 추적이 필요합니다

현재 IconButton 대신 Box를 사용하는 임시 해결책이 적용되어 있습니다. 이슈가 해결되면 원래의 구현으로 되돌릴 수 있도록 이슈 추적이 필요합니다.

feature/signup/src/commonMain/kotlin/team/aliens/dms/kmp/feature/signup/ui/TermsScreen.kt (1)

114-118: 색상 할당 로직이 개선되었습니다.

튜플을 사용한 색상 할당 방식으로 코드가 더욱 간결해졌습니다. 테마 색상도 적절하게 사용되었습니다.

@parkuiery parkuiery merged commit cd9c747 into develop Dec 4, 2024
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 새로운 기능을 추가 할 경우
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feat]: 신청 화면 퍼블리싱
1 participant