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

[WEAV-78] 나이 입력 뷰 구현 #24

Merged
merged 1 commit into from
Oct 1, 2024
Merged

Conversation

jisu15-kim
Copy link
Member

@jisu15-kim jisu15-kim commented Oct 1, 2024

구현사항

  • 나이 입력 뷰 구현
  • 디자인 요구사항에 맞춰 VerifyInputView 커스텀 고도화

앞으로 개선 사항

  • 나이 검증
  • 테스트코드

스크린샷(선택)

나이입력 뷰

Summary by CodeRabbit

릴리스 노트

  • 신규 기능

    • 사용자 생년을 입력받는 AuthProfileAgeInputView 추가.
    • 성별 선택 후 다음 단계로 이동하는 기능 개선.
    • AuthGreetingView에서 인사 메시지와 버튼의 지연된 애니메이션 추가.
    • VerifyCodeInputView의 사용자 정의 가능성 향상.
  • 버그 수정

    • AuthPhoneVerifyView의 텍스트 박스 레이아웃 조정 및 입력 필드 클리어 기능 개선.
  • 자산 추가

    • 새로운 이미지 자산 icon-information 추가.

@jisu15-kim jisu15-kim self-assigned this Oct 1, 2024
Copy link
Contributor

coderabbitai bot commented Oct 1, 2024

Walkthrough

이 변경 사항은 사용자 인증 프로세스의 일부로 새로운 authProfileAge 케이스를 추가하여 나이 입력 뷰를 구성합니다. PathType 열거형과 관련된 여러 파일에서 내비게이션 로직이 수정되며, 새로운 AuthProfileAgeInputView가 추가되어 사용자의 생년 입력을 수집합니다. 또한, 버튼 클릭 시 내비게이션 흐름이 변경되어 성별 선택 후 나이 입력 단계로 이동합니다.

Changes

파일 경로 변경 요약
Projects/App/Sources/Navigation/NavigationStack.swift PathType 열거형에 authProfileAge 케이스 추가 및 관련 뷰 렌더링 로직 수정.
Projects/Core/CommonKit/Sources/AppCoordinator.swift changeRootView 메서드의 로직 수정, 내비게이션 스택 업데이트 방식 단순화.
Projects/Core/CommonKit/Sources/Path/PathTypes.swift SignUpSubViewTypePathType 열거형에 authProfileAge 케이스 추가, name 프로퍼티 수정.
Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/Contents.json 새로운 이미지 자산 icon-information 추가.
Projects/Features/SignUp/Sources/AuthAgreement/AuthAgreementView.swift 내비게이션 로직을 AppCoordinator.shared.push에서 changeRootView로 변경.
Projects/Features/SignUp/Sources/AuthPhoneVerify/AuthPhoneVerifyView.swift VerifyCodeInputView에 새로운 매개변수 추가 및 레이아웃 조정.
Projects/Features/SignUp/Sources/ProfileInput/AuthGreeting/AuthGreetingView.swift 내비게이션 설정을 위한 새로운 메서드 추가 및 텍스트 나타나는 지연 설정.
Projects/Features/SignUp/Sources/ProfileInput/AuthProfileAge/AuthProfileAgeInputView.swift 새로운 뷰 AuthProfileAgeInputView 추가, 생년 입력을 위한 UI 구성.
Projects/Features/SignUp/Sources/ProfileInput/AuthProfileGenderInput/AuthProfileGenderInputView.swift 성별 선택 후 authProfileAge로의 내비게이션 흐름 추가.

Possibly related PRs

  • [WEAV-73] 프로필 입력 - 성별선택 뷰 구현 #23: 이 PR은 성별 선택 뷰에 대한 새로운 케이스를 PathType 열거형에 추가하며, 이는 새로운 authProfileAge 케이스와 직접적으로 관련이 있습니다. 두 PR 모두 회원가입 흐름의 일부로 내비게이션 구조에 대한 수정이 포함되어 있습니다.

🐰 새로운 길이 열리고,
나이 입력을 기다리네.
성별 후에 나아가며,
인증의 여정이 이어지네!
함께 달려가는 우리들,
새로운 뷰로 나아가자!
🥕✨


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: 4

🧹 Outside diff range and nitpick comments (10)
Projects/App/Sources/Navigation/NavigationStack.swift (1)

35-36: 변경 사항이 적절히 구현되었습니다.

새로운 .authProfileAge 케이스가 signUp 하위 뷰 스위치에 올바르게 추가되었습니다. 이는 PR 목표인 나이 입력 뷰 구현과 일치합니다.

코드의 가독성을 높이기 위해 새로운 케이스에 대한 간단한 설명을 주석으로 추가하는 것이 좋겠습니다. 예를 들어:

case .authProfileAge:
    // 사용자의 나이를 입력받는 뷰
    AuthProfileAgeInputView()
Projects/Core/CommonKit/Sources/Path/PathTypes.swift (2)

36-36: LGTM! 새로운 케이스가 잘 추가되었습니다.

나이 입력 뷰에 대한 새로운 케이스가 적절히 추가되었습니다. 코드의 일관성과 가독성이 유지되고 있습니다.

다만, 향후 유지보수를 위해 각 케이스에 대한 간단한 주석을 추가하는 것이 좋을 것 같습니다. 예를 들어:

case .authProfileAge: return "나이 입력" // 사용자의 나이를 입력받는 화면

49-49: 새로운 케이스가 잘 추가되었습니다.

SignUpSubViewType 열거형에 authProfileAge 케이스가 적절히 추가되었습니다. 이는 PathType 열거형의 변경사항과 일치하며, 기존 명명 규칙을 따르고 있습니다.

향후 확장성을 고려하여, 열거형에 관련 케이스들을 그룹화하는 것을 고려해 보시는 것은 어떨까요? 예를 들어:

public enum SignUpSubViewType: Hashable {
    // 인증 관련
    case authPhoneInput
    case authPhoneVerify
    case authAgreement
    case authGreeting
    
    // 프로필 관련
    case authProfileGender
    case authProfileAge
    // 향후 추가될 수 있는 프로필 관련 케이스들...
}

이렇게 구성하면 향후 새로운 프로필 관련 단계가 추가될 때 코드의 구조를 더 쉽게 파악할 수 있을 것 같습니다.

Projects/Features/SignUp/Sources/ProfileInput/AuthGreeting/AuthGreetingView.swift (1)

Line range hint 47-52: 지연 및 애니메이션 로직이 개선되었습니다.

태스크와 애니메이션을 사용하여 뷰 요소의 등장 타이밍을 제어하는 방식은 좋습니다. 하지만 몇 가지 개선할 점이 있습니다:

  1. UI 타이밍을 위해 Task.sleep을 사용하는 것은 권장되지 않습니다. 대신 DispatchQueue.main.asyncAfter를 사용하는 것이 더 적절할 수 있습니다.
  2. Task.sleep의 오류를 무시하고 있습니다. 적절한 오류 처리를 추가하는 것이 좋습니다.

다음과 같이 코드를 수정해 보세요:

.onAppear {
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
        withAnimation(.easeInOut(duration: 0.6)) {
            isAppeared = true
        }
    }
}
Projects/Features/SignUp/Sources/ProfileInput/AuthProfileGenderInput/AuthProfileGenderInputView.swift (2)

73-75: 네비게이션 구현이 잘 되었습니다.

변경사항이 PR의 목표와 잘 일치합니다. AppCoordinator를 사용하여 다음 단계로 네비게이션하는 것이 적절합니다.

가독성을 높이기 위해 다음과 같이 작은 개선을 제안합니다:

 CTABottomButton(
     title: "다음",
     isActive: selectedGender != nil
 ) {
-    AppCoordinator.shared.push(
-        .signUp(.authProfileAge)
-    )
+    AppCoordinator.shared.push(.signUp(.authProfileAge))
 }

이렇게 하면 코드가 더 간결해지고 한 눈에 파악하기 쉬워집니다.


Line range hint 1-89: 접근성 개선 제안

현재 구현은 잘 되어 있지만, 접근성 측면에서 개선할 수 있는 부분이 있습니다.

다음과 같은 접근성 개선을 고려해 보시기 바랍니다:

  1. 성별 선택 버튼에 accessibilityLabel을 추가하여 스크린 리더 사용자가 각 옵션을 명확히 이해할 수 있도록 합니다.
  2. accessibilityHint를 사용하여 사용자에게 선택 방법에 대한 추가 정보를 제공합니다.

예시 코드:

type.unselectedImage
    .resizable()
    .frame(width: 130, height: 130)
    .accessibilityLabel(type == .male ? "남성" : "여성")
    .accessibilityHint("선택하려면 두 번 탭하세요")
    .onTapGesture {
        withAnimation {
            selectedGender = type
        }
    }

이러한 변경사항은 앱의 전반적인 접근성을 향상시키고 모든 사용자에게 더 나은 경험을 제공할 것입니다.

Projects/Features/SignUp/Sources/AuthPhoneVerify/AuthPhoneVerifyView.swift (4)

87-92: 커스터마이징을 위한 속성 추가 승인

새로운 속성들의 추가로 VerifyCodeInputView의 재사용성과 유연성이 크게 향상되었습니다. 이는 좋은 개선사항입니다.

가독성을 더욱 높이기 위해, 이러한 스타일 관련 속성들을 별도의 구조체로 그룹화하는 것을 고려해 보시는 것은 어떨까요? 예를 들어:

struct VerifyCodeInputStyle {
    let boxHeight: CGFloat
    let textColor: Color
    let borderWidth: CGFloat
    let borderColor: Color
    let backColor: Color
    let cornerRadius: CGFloat
}

이렇게 하면 향후 스타일 관련 속성을 추가하거나 수정할 때 더욱 관리하기 쉬워질 것입니다.


98-103: 초기화 메서드 업데이트 승인

새로운 매개변수들이 잘 추가되었고, 기본값 설정으로 이전 버전과의 호환성도 유지되었습니다. 매개변수의 순서도 논리적으로 잘 구성되어 있습니다.

각 매개변수에 대한 간단한 문서 주석을 추가하면 사용자가 각 매개변수의 목적을 더 쉽게 이해할 수 있을 것 같습니다. 예를 들어:

/// - Parameter boxHeight: 각 입력 상자의 높이
/// - Parameter textColor: 입력된 텍스트의 색상
// ... 나머지 매개변수에 대해서도 비슷하게 추가

130-130: 텍스트 상자 스타일링 개선 승인

새로운 커스터마이징 속성들을 활용하여 getSingleTextBox 메서드가 잘 업데이트되었습니다. 그림자 효과의 추가로 시각적 매력도 향상되었습니다.

접근성을 더욱 개선하기 위해, 동적 타입 지원을 고려해 보는 것은 어떨까요? 예를 들어:

Text(text)
    .font(.system(size: 32, weight: .semibold, design: .default))
    .minimumScaleFactor(0.5)
    .foregroundStyle(textColor)

이렇게 하면 사용자의 기기 설정에 따라 텍스트 크기가 자동으로 조절되어 더 나은 사용자 경험을 제공할 수 있습니다.

Also applies to: 138-143, 146-146, 148-148


Line range hint 161-163: 텍스트 필드 초기화 기능 개선 승인

사용자가 쉽게 입력을 지우고 다시 포커스를 얻을 수 있도록 하는 이 변경사항은 사용자 경험을 크게 향상시킵니다.

오류 처리를 개선하기 위해, 입력값의 유효성을 검사하는 로직을 추가하는 것을 고려해 보세요. 예를 들어:

.onChange(of: verifyCode) { oldValue, newValue in
    if newValue.count > verifyCodeMaxCount {
        verifyCode = String(newValue.prefix(verifyCodeMaxCount))
    }
    if newValue.count == verifyCodeMaxCount {
        isTextFieldFocused = false
        validateInput() // 입력값 검증 함수 호출
    }
}

func validateInput() {
    // 여기에 입력값 검증 로직 추가
    // 예: 모든 문자가 숫자인지 확인
    if !verifyCode.allSatisfy({ $0.isNumber }) {
        errorMessage = "숫자만 입력해주세요."
    } else {
        errorMessage = nil
    }
}

이렇게 하면 사용자 입력의 정확성을 보장하고 오류를 즉시 피드백할 수 있습니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 4ec2d71 and bd057c2.

⛔ Files ignored due to path filters (3)
  • Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/icon-information.png is excluded by !**/*.png
  • Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/[email protected] is excluded by !**/*.png
  • Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/[email protected] is excluded by !**/*.png
📒 Files selected for processing (9)
  • Projects/App/Sources/Navigation/NavigationStack.swift (1 hunks)
  • Projects/Core/CommonKit/Sources/AppCoordinator.swift (1 hunks)
  • Projects/Core/CommonKit/Sources/Path/PathTypes.swift (2 hunks)
  • Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/Contents.json (1 hunks)
  • Projects/Features/SignUp/Sources/AuthAgreement/AuthAgreementView.swift (1 hunks)
  • Projects/Features/SignUp/Sources/AuthPhoneVerify/AuthPhoneVerifyView.swift (2 hunks)
  • Projects/Features/SignUp/Sources/ProfileInput/AuthGreeting/AuthGreetingView.swift (1 hunks)
  • Projects/Features/SignUp/Sources/ProfileInput/AuthProfileAge/AuthProfileAgeInputView.swift (1 hunks)
  • Projects/Features/SignUp/Sources/ProfileInput/AuthProfileGenderInput/AuthProfileGenderInputView.swift (1 hunks)
🔇 Additional comments (12)
Projects/DesignSystem/DesignCore/Resources/Images/Images.xcassets/icon-information.imageset/Contents.json (5)

1-23: JSON 구조가 올바르게 구성되었습니다.

JSON 파일의 구조와 내용이 Xcode 에셋 카탈로그의 예상 형식을 정확히 따르고 있습니다. "images" 배열과 "info" 객체가 적절히 포함되어 있습니다.


4-4: 이미지 파일 명명 규칙이 적절합니다.

이미지 파일들의 이름이 iOS의 표준 관행을 따르고 있습니다. 각각의 스케일 팩터(@1x, @2x, @3x)에 대해 올바르게 명명되었습니다.

Also applies to: 9-9, 14-14


3-18: 에셋 세트가 완전합니다.

1x, 2x, 3x 스케일에 대한 이미지가 모두 포함되어 있으며, 모든 이미지가 "universal" idiom으로 설정되어 있습니다. 이는 모든 필요한 스케일 팩터를 포함하고 있어 다양한 기기에서 사용할 수 있음을 의미합니다.


19-22: 메타데이터 정보가 적절합니다.

"info" 객체에 명시된 메타데이터 정보가 Xcode에서 생성된 에셋 카탈로그의 표준을 따르고 있습니다. 작성자가 "xcode"로 지정되어 있고, 버전이 1로 설정되어 있습니다.


1-23: 전반적으로 파일이 잘 구성되어 있습니다.

이 JSON 파일은 "icon-information" 에셋에 대해 올바르게 구조화되어 있으며, 필요한 모든 정보를 포함하고 있습니다. 이미지 파일의 명명 규칙, 에셋 세트의 완전성, 그리고 메타데이터 정보가 모두 iOS 개발 표준을 준수하고 있습니다. 이 에셋은 다양한 기기와 해상도에서 적절히 사용될 수 있을 것으로 보입니다.

Projects/Features/SignUp/Sources/AuthAgreement/AuthAgreementView.swift (2)

Line range hint 1-47: PR 목표와 파일 내용 간의 불일치

이 파일(AuthAgreementView.swift)의 내용이 PR 목표에서 언급된 "나이 입력 뷰 구현"과 직접적으로 연관되어 있지 않아 보입니다.

  1. 이 변경사항이 어떻게 나이 입력 뷰 구현과 관련되는지 명확하지 않습니다.
  2. VerifyInputView 컴포넌트의 개선 사항도 이 파일에서 직접적으로 확인되지 않습니다.

다음 스크립트를 실행하여 나이 입력 뷰와 관련된 파일을 찾아보세요:

이 결과를 바탕으로 PR의 주요 변경사항이 포함된 파일들을 확인하고, 필요하다면 추가 리뷰를 요청해 주세요.


31-33: 내비게이션 로직 변경에 대한 검토가 필요합니다.

네비게이션 방식이 push에서 changeRootView로 변경되었습니다. 이는 사용자의 네비게이션 경험에 영향을 줄 수 있습니다.

  1. 이 변경으로 인해 사용자가 이전 화면으로 돌아갈 수 있는 방법이 영향을 받을 수 있습니다.
  2. 전체 앱의 네비게이션 흐름과 일관성이 있는지 확인이 필요합니다.

다음 스크립트를 실행하여 AppCoordinator의 사용 패턴을 확인해 주세요:

이 결과를 바탕으로 네비게이션 로직의 일관성을 검토해 주세요.

Projects/Core/CommonKit/Sources/Path/PathTypes.swift (1)

Line range hint 1-49: 전반적인 변경사항이 PR 목표와 잘 일치합니다.

이 PR에서 구현한 나이 입력 뷰에 대한 변경사항이 PathTypes.swift 파일에 잘 반영되었습니다. PathTypeSignUpSubViewType 열거형에 새로운 케이스를 추가한 것은 적절하며, 코드의 일관성과 가독성을 유지하고 있습니다.

다만, 향후 개선사항으로 다음을 고려해 보시기 바랍니다:

  1. 각 케이스에 대한 간단한 주석 추가
  2. SignUpSubViewType 열거형 내 케이스들의 그룹화

또한, PR 목표에서 언급된 향후 개선사항인 나이 유효성 검사 및 테스트 케이스 개발을 잊지 마시기 바랍니다.

나이 유효성 검사 로직이 구현되었는지 확인하기 위해 다음 스크립트를 실행해 주세요:

이 스크립트의 결과를 바탕으로 나이 유효성 검사 및 테스트 케이스 개발 상태를 확인할 수 있습니다.

Projects/Features/SignUp/Sources/ProfileInput/AuthGreeting/AuthGreetingView.swift (1)

40-43: 네비게이션 설정이 추가되었습니다.

네비게이션 설정이 성공적으로 추가되었습니다. 그러나 뒤로 가기 버튼을 숨기는 것이 사용자 경험에 미치는 영향을 고려해 보시기 바랍니다.

다음 스크립트를 실행하여 다른 뷰에서도 유사한 네비게이션 설정이 사용되고 있는지 확인해 주세요:

✅ Verification successful

네비게이션 설정 검증 완료

다른 뷰에서도 유사한 네비게이션 설정이 사용되고 있음을 확인했습니다. 따라서, 뒤로 가기 버튼을 숨기는 설정이 일관되게 적용되고 있습니다.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# 설명: 다른 SwiftUI 뷰에서 유사한 네비게이션 설정을 사용하고 있는지 확인합니다.

# 테스트: .setNavigation 메서드 사용을 검색합니다. 예상 결과: 유사한 설정을 사용하는 다른 뷰들의 목록.
rg --type swift -g '*.swift' -A 3 '\.setNavigation'

Length of output: 2546

Projects/Features/SignUp/Sources/ProfileInput/AuthProfileAge/AuthProfileAgeInputView.swift (2)

1-12: LGTM: 파일 헤더와 import 문이 적절합니다.

파일 헤더 정보와 import 문이 SwiftUI 뷰 구현에 적합하게 작성되었습니다.


92-96: LGTM: 프리뷰 설정이 적절합니다.

NavigationView 내에서 AuthProfileAgeInputView를 미리 볼 수 있도록 올바르게 설정되었습니다.

Projects/Features/SignUp/Sources/AuthPhoneVerify/AuthPhoneVerifyView.swift (1)

Line range hint 1-174: 전체 리뷰 요약

이 PR은 VerifyCodeInputView의 커스터마이징 옵션을 크게 개선하고 사용자 경험을 향상시켰습니다. 주요 변경 사항들:

  1. 커스터마이징을 위한 새로운 속성 추가
  2. 초기화 메서드 업데이트로 유연성 증가
  3. 텍스트 상자 스타일링 개선
  4. 텍스트 필드 초기화 기능 개선

이러한 변경사항들은 PR의 목표를 잘 달성하고 있습니다. 몇 가지 minor한 개선 사항을 제안했지만, 전반적으로 코드 품질이 우수합니다.

향후 개선을 위한 제안:

  1. 스타일 관련 속성을 별도의 구조체로 그룹화
  2. 매개변수에 대한 문서 주석 추가
  3. 동적 타입 지원 고려
  4. 입력값 유효성 검사 로직 추가

이러한 제안사항들을 고려하여 추가 개선을 진행하면 좋을 것 같습니다.

Comment on lines +13 to +24
public struct AuthProfileAgeInputView: View {

@State var birthYear = String()
@State var errorMessage: String? = "잘못 입력하셨어요"
@FocusState var isFocused

public init() {}

var targetGender: String {
let tempTarget = "여성"
return tempTarget
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

targetGender 속성의 하드코딩된 값 개선 필요

targetGender 속성이 "여성"으로 하드코딩되어 있습니다. 이는 향후 더 동적인 방식으로 처리되어야 할 수 있습니다.

다음과 같이 targetGender를 매개변수로 받는 것을 고려해보세요:

public struct AuthProfileAgeInputView: View {
    let targetGender: String
    
    public init(targetGender: String) {
        self.targetGender = targetGender
    }
    
    // ... 나머지 코드
}

@jisu15-kim jisu15-kim merged commit cbcd5cc into feature/WEAV-72 Oct 1, 2024
2 checks passed
@jisu15-kim jisu15-kim deleted the working/WEAV-78 branch October 1, 2024 16:03
jisu15-kim added a commit that referenced this pull request Oct 3, 2024
* [WEAV-73] 프로필 입력 - 성별선택 뷰 구현 (#23)

* [WEAV-73] 프로필 입력 - 성별선택 뷰 구현
* [WEAV-73] 오타수정

* [WEAV-78] 나이 입력 뷰 구현 (#24)

* [WEAV-79] 이름 입력 뷰 구현 (#25)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant