-
Notifications
You must be signed in to change notification settings - Fork 0
Fix/#162 2차 QA 반영 #167
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
The head ref may contain hidden characters: "fix/#162-2\uCC28-qa"
Fix/#162 2차 QA 반영 #167
Changes from all commits
060b5b2
d8cb60e
73a72d3
8861cb5
3ada98a
cd0d3e1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -62,21 +62,21 @@ final class HomeViewModel: ObservableObject { | |
| return String(format: "%.0f%%", rate) | ||
| } | ||
|
|
||
| var challengeName: String { | ||
| dashboardData?.challengeName ?? "챌린지" | ||
| var challengeName: String? { | ||
| return dashboardData?.challengeName | ||
| } | ||
|
|
||
| var cherryLevel: Int { | ||
| dashboardData?.cherryLevel ?? 0 | ||
| } | ||
|
|
||
| var challengeBarImageName: String { | ||
| let level = min(max(cherryLevel, 0), 4) | ||
| let level = cherryLevel | ||
| return "home_chellenge_bar\(level)" | ||
| } | ||
|
Comment on lines
73
to
76
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
이전에는
♻️ 경계값 검증 추가 제안 var challengeBarImageName: String {
- let level = cherryLevel
+ let level = min(max(cherryLevel, 0), 4)
return "home_chellenge_bar\(level)"
}🤖 Prompt for AI Agents |
||
|
|
||
| var cherryLevelImageName: String { | ||
| let level = min(max(cherryLevel, 0), 4) | ||
| let level = cherryLevel == 0 ? 1 : cherryLevel | ||
| return "home_lv.\(level)" | ||
| } | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,66 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // CherryLevel.swift | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Cherrish-iOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Created by 이나연 on 1/23/26. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import Foundation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import SwiftUI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| enum CherryLevel: Int { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case level0 = 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case level1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case level2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case level3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case level4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| var levelNumber: Int { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if self == .level0 { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| else { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return rawValue | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| static func from(progressRate: Double) -> CherryLevel { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| switch progressRate { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case 0: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case 0.0..<25.0: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case 25.0..<50.0: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case 50.0..<75.0: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case 75.0...100.0: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| default: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return .level1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+27
to
+42
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial
또한 ♻️ 범위를 명확히 분리한 개선안 static func from(progressRate: Double) -> CherryLevel {
switch progressRate {
case 0:
return .level0
- case 0.0..<25.0:
+ case 0.0<..<25.0: // 0 초과 ~ 25 미만 (Swift에서는 이 문법이 지원되지 않음)
return .level1Swift에서는 static func from(progressRate: Double) -> CherryLevel {
- switch progressRate {
- case 0:
- return .level0
- case 0.0..<25.0:
- return .level1
- case 25.0..<50.0:
- return .level2
- case 50.0..<75.0:
- return .level3
- case 75.0...100.0:
- return .level4
- default:
- return .level1
- }
+ if progressRate == 0 {
+ return .level0
+ } else if progressRate < 25.0 {
+ return .level1
+ } else if progressRate < 50.0 {
+ return .level2
+ } else if progressRate < 75.0 {
+ return .level3
+ } else if progressRate <= 100.0 {
+ return .level4
+ } else {
+ return .level1
+ }
}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| var name: String { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| switch self { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level0, .level1: return "몽롱체리" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level2: return "뽀득체리" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level3: return "팡팡체리" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level4: return "꾸꾸체리" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| var cherryImage: Image { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| switch self { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level0, .level1: return Image(.cherry1) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level2: return Image(.cherry2) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level3: return Image(.cherry3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| case .level4: return Image(.cherry4) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| var progressImage: Image { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Image("challenge_gaugebar_\(rawValue)") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
🧹 Nitpick | 🔵 Trivial
중복 가능성이 있는 여백 설정
Line 38의
.padding(.top, 17.adjustedH)와 Line 40-41의Spacer()가 함께 사용되고 있습니다.Spacer()가 남은 공간을 채우므로, 상단 패딩이 의도한 레이아웃인지 확인해 주세요. 만약 고정된 간격이 필요하다면 패딩 대신Spacer().frame(height:)를 사용하는 것이 더 명확할 수 있습니다.♻️ 제안된 대안
TypographyText("잠시만 기다려주세요!", style: .title2_m_16, color: .gray800) .frame(height: 24.adjustedH) - .padding(.top, 17.adjustedH) Spacer() + .frame(minHeight: 17.adjustedH)📝 Committable suggestion
🤖 Prompt for AI Agents