From feed6b4d00595a85e963ebec77c77bf364f14aed Mon Sep 17 00:00:00 2001 From: leejh08 Date: Thu, 23 Apr 2026 20:18:11 +0900 Subject: [PATCH 1/3] omx(team): auto-checkpoint worker-1 [1] --- .../Components/SelfStudyCheckComponents.swift | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/Sources/PiCKAdmin/Features/SelfStudyCheck/Components/SelfStudyCheckComponents.swift b/Sources/PiCKAdmin/Features/SelfStudyCheck/Components/SelfStudyCheckComponents.swift index 1b7cec2..07c39de 100644 --- a/Sources/PiCKAdmin/Features/SelfStudyCheck/Components/SelfStudyCheckComponents.swift +++ b/Sources/PiCKAdmin/Features/SelfStudyCheck/Components/SelfStudyCheckComponents.swift @@ -22,9 +22,16 @@ struct StudentAttendanceCell: View { .pickText(type: .body2, textColor: statusColor(student.status)) .padding(.horizontal, 16) .padding(.vertical, 8) - .background(statusBackgroundColor(student.status)) - .cornerRadius(8) + .background( + RoundedRectangle(cornerRadius: 8) + .fill(statusBackgroundColor(student.status)) + ) + .overlay( + RoundedRectangle(cornerRadius: 8) + .stroke(statusBorderColor(student.status), lineWidth: 1) + ) } + .buttonStyle(.plain) } .padding(.vertical, 12) .padding(.horizontal, 16) @@ -36,13 +43,13 @@ struct StudentAttendanceCell: View { private func statusColor(_ status: String) -> Color { switch status { case "출석": - return .Primary.primary500 + return .Normal.white case "이동": - return .Gray.gray700 + return .Normal.white case "귀가", "외출": - return .Primary.primary400 + return .Error.error case "현체", "취업": - return .Gray.gray600 + return .Gray.gray900 default: return .Normal.black } @@ -51,15 +58,30 @@ struct StudentAttendanceCell: View { private func statusBackgroundColor(_ status: String) -> Color { switch status { case "출석": - return .Primary.primary50 + return .Primary.primary500 case "이동": - return .Gray.gray100 + return .Gray.gray700 case "귀가", "외출": - return .Primary.primary50.opacity(0.5) + return .Error.errorLight case "현체", "취업": - return .Gray.gray100 + return .Gray.gray200 default: return .Gray.gray100 } } + + private func statusBorderColor(_ status: String) -> Color { + switch status { + case "출석": + return .Primary.primary500 + case "이동": + return .Gray.gray700 + case "귀가", "외출": + return .Error.error + case "현체", "취업": + return .Gray.gray600 + default: + return .Gray.gray400 + } + } } From 94167c2f3c1da71a36a44646906b9cc5075868c8 Mon Sep 17 00:00:00 2001 From: leejh08 Date: Tue, 19 May 2026 19:25:49 +0900 Subject: [PATCH 2/3] =?UTF-8?q?Fix=20::=20=EB=B2=84=EA=B7=B8=20=EC=A0=9C?= =?UTF-8?q?=EB=B3=B4=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=B2=A8=EB=B6=80=20?= =?UTF-8?q?=EC=95=88=EB=90=98=EB=8A=94=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BugReportViewModel: 이미지 업로드 응답 타입 [String] → ImageUploadResponse로 수정 - AndroidManifest: READ_MEDIA_IMAGES, READ_EXTERNAL_STORAGE 권한 추가 close #20 --- Android/app/src/main/AndroidManifest.xml | 2 ++ .../Features/BugReport/ViewModels/BugReportViewModel.swift | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Android/app/src/main/AndroidManifest.xml b/Android/app/src/main/AndroidManifest.xml index 0223487..fde1871 100644 --- a/Android/app/src/main/AndroidManifest.xml +++ b/Android/app/src/main/AndroidManifest.xml @@ -7,6 +7,8 @@ + + diff --git a/Sources/PiCKAdmin/Features/BugReport/ViewModels/BugReportViewModel.swift b/Sources/PiCKAdmin/Features/BugReport/ViewModels/BugReportViewModel.swift index 635e69c..5d1aa04 100644 --- a/Sources/PiCKAdmin/Features/BugReport/ViewModels/BugReportViewModel.swift +++ b/Sources/PiCKAdmin/Features/BugReport/ViewModels/BugReportViewModel.swift @@ -83,8 +83,8 @@ final class BugReportViewModel { bodyData.append("--\(boundary)--\r\n".data(using: .utf8)!) let endpoint = BugReportAPI.uploadImages(boundary: boundary, body: bodyData) - let response = try await APIClient.shared.request(endpoint, responseType: [String].self) - return response + let response = try await APIClient.shared.request(endpoint, responseType: ImageUploadResponse.self) + return response.fileNames } private func submitReport(fileNames: [String]) async throws { From ec6e7bfa79cb6778db54edd1339b970fb48c076b Mon Sep 17 00:00:00 2001 From: leejh08 Date: Wed, 20 May 2026 08:51:26 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Fix=20::=20R8=20=EB=B9=8C=EB=93=9C=20?= =?UTF-8?q?=EC=8B=9C=20kotlin.reflect=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EB=88=84=EB=9D=BD=20=EA=B2=BD=EA=B3=A0=20=EC=96=B5=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- Android/app/proguard-rules.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Android/app/proguard-rules.pro b/Android/app/proguard-rules.pro index bab28bf..3aafbfd 100644 --- a/Android/app/proguard-rules.pro +++ b/Android/app/proguard-rules.pro @@ -8,3 +8,6 @@ -keep class * implements skip.bridge.** { *; } -keep class **._ModuleBundleAccessor_* { *; } -keep class pi.ckadmin.** { *; } +-dontwarn kotlin.reflect.full.KClasses +-dontwarn kotlin.reflect.full.KTypes +-dontwarn kotlin.reflect.jvm.KTypesJvm