From 262a86e97e8d1ae6969a356095ca83429c763dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=9A=A9=ED=95=B4?= Date: Mon, 12 Jan 2026 19:10:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?FIX:=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=84=B8=ED=8A=B8=20=EC=9D=B4=EB=A6=84=EC=9D=84=20WEIGHTS?= =?UTF-8?q?=EC=97=90=EC=84=9C=20WEIGHT=5FTRAINING=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exercise/WEIGHTS.imageset/WEIGHTS.pdf | Bin 14694 -> 0 bytes .../Contents.json | 2 +- .../WEIGHT_TRAINING.pdf | Bin 0 -> 15047 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 RecordManagment/Assets.xcassets/Exercise/WEIGHTS.imageset/WEIGHTS.pdf rename RecordManagment/Assets.xcassets/Exercise/{WEIGHTS.imageset => WEIGHT_TRAINING.imageset}/Contents.json (82%) create mode 100644 RecordManagment/Assets.xcassets/Exercise/WEIGHT_TRAINING.imageset/WEIGHT_TRAINING.pdf diff --git a/RecordManagment/Assets.xcassets/Exercise/WEIGHTS.imageset/WEIGHTS.pdf b/RecordManagment/Assets.xcassets/Exercise/WEIGHTS.imageset/WEIGHTS.pdf deleted file mode 100644 index 64ae7da20f35ed2ea8dd6908c8fef28a16f8888b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14694 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 literal 0 HcmV?d00001 From 5b6dfcf3352bc67da3926c0c16acaab7b7b4d482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=9A=A9=ED=95=B4?= Date: Mon, 12 Jan 2026 19:10:18 +0900 Subject: [PATCH 2/2] =?UTF-8?q?FIX:=20=EB=AA=B8=EB=AC=B4=EA=B2=8C=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=EC=9D=84=20Int=EC=97=90=EC=84=9C=20Double?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98=EA=B3=A0=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=EB=90=9C=20=EB=B7=B0=20=EB=B0=8F=20=EB=AA=A8=EB=8D=B8?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entitiy/Calendar/CalendarDetail.swift | 6 +- .../Domain/Entitiy/Exercise/ExerciseDTO.swift | 2 +- .../Domain/Entitiy/Exercise/ExerciseObj.swift | 8 +-- .../View/Exercise/ExerciseRecordView.swift | 55 ++++++++++++++++++- .../ExerciseRecordView+ViewModel.swift | 2 +- 5 files changed, 63 insertions(+), 10 deletions(-) diff --git a/RecordManagment/Domain/Entitiy/Calendar/CalendarDetail.swift b/RecordManagment/Domain/Entitiy/Calendar/CalendarDetail.swift index bd87f0f..e594772 100644 --- a/RecordManagment/Domain/Entitiy/Calendar/CalendarDetail.swift +++ b/RecordManagment/Domain/Entitiy/Calendar/CalendarDetail.swift @@ -61,7 +61,7 @@ struct ExerciseResponse: Decodable, Equatable, Hashable { let caloriesBurned: Int? let exerciseTimeMinutes: Int? let stepCount: Int? - let weight: Int? + let weight: Double? let dailyNote: String let imageUrls: [String] @@ -76,7 +76,7 @@ struct ExerciseResponse: Decodable, Equatable, Hashable { caloriesBurned: Int? = nil, exerciseTimeMinutes: Int? = nil, stepCount: Int? = nil, - weight: Int? = nil, + weight: Double? = nil, dailyNote: String, imageUrls: [String] = [] ) { @@ -103,7 +103,7 @@ struct ExerciseResponse: Decodable, Equatable, Hashable { let caloriesBurned = try container.decodeIfPresent(Int.self, forKey: .caloriesBurned) let exerciseTimeMinutes = try container.decodeIfPresent(Int.self, forKey: .exerciseTimeMinutes) let stepCount = try container.decodeIfPresent(Int.self, forKey: .stepCount) - let weight = try container.decodeIfPresent(Int.self, forKey: .weight) + let weight = try container.decodeIfPresent(Double.self, forKey: .weight) let dailyNote = try container.decode(String.self, forKey: .dailyNote) self.base = RecordResponse(id: id, type: type, recordDate: recordDate, recordTime: recordTime, createdAt: createdAt, updatedAt: updatedAt) self.exerciseType = exerciseType diff --git a/RecordManagment/Domain/Entitiy/Exercise/ExerciseDTO.swift b/RecordManagment/Domain/Entitiy/Exercise/ExerciseDTO.swift index c89b1f7..1e34eef 100644 --- a/RecordManagment/Domain/Entitiy/Exercise/ExerciseDTO.swift +++ b/RecordManagment/Domain/Entitiy/Exercise/ExerciseDTO.swift @@ -5,7 +5,7 @@ struct ExerciseBody: Codable { let caloriesBurned: Int let exerciseTimeMinutes: Int let stepCount: Int - let weight: Int + let weight: Double let dailyNote: String var imageUrls: [String] let recordDate: String? diff --git a/RecordManagment/Domain/Entitiy/Exercise/ExerciseObj.swift b/RecordManagment/Domain/Entitiy/Exercise/ExerciseObj.swift index c0f6cde..713a125 100644 --- a/RecordManagment/Domain/Entitiy/Exercise/ExerciseObj.swift +++ b/RecordManagment/Domain/Entitiy/Exercise/ExerciseObj.swift @@ -7,7 +7,7 @@ enum ExerciseObj: String, CaseIterable { case swimming case baseball case yoga - case weights + case weight_training case cycling case soccer case tennis @@ -35,7 +35,7 @@ enum ExerciseObj: String, CaseIterable { "야구" case .yoga: "요가" - case .weights: + case .weight_training: "웨이트 트레이닝" case .cycling: "자전거" @@ -63,8 +63,8 @@ enum ExerciseObj: String, CaseIterable { .soccer case "SWIMMING": .swimming - case "WEIGHTS": - .weights + case "WEIGHT_TRAINING": + .weight_training case "TENNIS": .tennis case "YOGA": diff --git a/RecordManagment/Presentation/View/Exercise/ExerciseRecordView.swift b/RecordManagment/Presentation/View/Exercise/ExerciseRecordView.swift index b4995ee..5edc606 100644 --- a/RecordManagment/Presentation/View/Exercise/ExerciseRecordView.swift +++ b/RecordManagment/Presentation/View/Exercise/ExerciseRecordView.swift @@ -93,7 +93,7 @@ struct ExerciseRecordView: View { inputGroup(title: "소모 칼로리", placeHolder: "0 kcal", number: $vm.kcal, focused: .kcal) inputGroup(title: "운동 시간", placeHolder: "0 분", number: $vm.time, focused: .time) inputGroup(title: "걸음 수", placeHolder: "0 걸음", number: $vm.step, focused: .step) - inputGroup(title: "몸무게", placeHolder: "0 Kg", number: $vm.weight, focused: .weight) + weightGroup(title: "몸무게", placeHolder: "0 Kg", number: $vm.weight, focused: .weight) Divider().foregroundStyle(Color.Gray._200()) inputGroup(title: "나의 하루", placeHolder: "NAN", isMultiField: true) ImagesHStack(selectedImages: $vm.selectedImages, selectedItems: $vm.selectedItems, isFocused: $isFocused) @@ -247,6 +247,58 @@ struct ExerciseRecordView: View { } } + // TODO: TextLabel Group 뷰 ( 몸무게 ) + private func weightGroup(title: String, placeHolder: String, number: Binding = .constant(0), isMultiField: Bool = false, focused: Field? = nil) -> some View { + + var numberText: Binding { + Binding( + get: { + if let focused = focused { + if isFocused == focused { + return number.wrappedValue == 0 ? "" : String(format: "%g", number.wrappedValue) + } else { + return number.wrappedValue == 0 ? "" : "\(String(format: "%g", number.wrappedValue)) \(focused.getName())" + } + } + return "" + }, + set: { newValue in + var filtered = "" + var decimalAdded = false + for char in newValue { + if char.isWholeNumber { + filtered.append(char) + } else if char == "." && !decimalAdded { + filtered.append(char) + decimalAdded = true + } + } + if let value = Double(filtered) { + number.wrappedValue = value + } else if isFocused == focused { + number.wrappedValue = 0 + } + } + ) + } + + return VStack(spacing: 10) { + Text(title) + .typography(.p14SemiBold) + .frame(maxWidth: .infinity, alignment: .leading) + if isMultiField { + MultiTextField(text: $vm.text, isFocused: $isFocused) + } else { + TextField(placeHolder, text: numberText) + .focused($isFocused, equals: focused) + .padding(14) + .background(Color.Gray._100()) + .clipShape(.rect(cornerRadius: 8)) + .keyboardType(.decimalPad) + } + } + } + // TODO: Exercise ReSelection View private var exerciseReSelectionView: some View { NavigationStack { @@ -290,3 +342,4 @@ struct ExerciseRecordView: View { } } + diff --git a/RecordManagment/Presentation/ViewModel/ExerciseRecordView+ViewModel.swift b/RecordManagment/Presentation/ViewModel/ExerciseRecordView+ViewModel.swift index 6d57340..220af62 100644 --- a/RecordManagment/Presentation/ViewModel/ExerciseRecordView+ViewModel.swift +++ b/RecordManagment/Presentation/ViewModel/ExerciseRecordView+ViewModel.swift @@ -9,7 +9,7 @@ extension ExerciseRecordView { @Published var kcal: Int = 0 @Published var time: Int = 0 @Published var step: Int = 0 - @Published var weight: Int = 0 + @Published var weight: Double = 0 @Published var text: String = "" @Published var selectedItems: [PhotosPickerItem] = [] @Published var selectedImages: [PhotoTransfer] = []