From 9ecd2243e694889cf79a2e8abb6dd033e265a997 Mon Sep 17 00:00:00 2001 From: e0ng Date: Thu, 19 Feb 2026 22:43:47 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[Refactor]=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=83=81=EC=84=B8=20=EB=B7=B0=20=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=95=84=EC=9B=83=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Notification/View/NotificationView.swift | 6 +- .../View/PersonalizationView.swift | 9 +- .../MyPage/Setting/SettingsView.swift | 90 ++++++++++--------- .../WeeklyReport/View/WeeklyReportView.swift | 7 +- 4 files changed, 61 insertions(+), 51 deletions(-) diff --git a/TAMINGO/Features/MyPage/Notification/View/NotificationView.swift b/TAMINGO/Features/MyPage/Notification/View/NotificationView.swift index 5c6610f..9df8820 100644 --- a/TAMINGO/Features/MyPage/Notification/View/NotificationView.swift +++ b/TAMINGO/Features/MyPage/Notification/View/NotificationView.swift @@ -11,8 +11,9 @@ struct NotificationView: View { @State private var viewModel = NotificationSettingViewModel() var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 12) { MyPageHeader(title: "알림 설정") + .padding(.bottom, 4) startAlert @@ -26,7 +27,8 @@ struct NotificationView: View { Spacer() } - .padding() + .padding(.horizontal, 32) + .padding(.vertical, 16) .task { viewModel.fetchSettings() } diff --git a/TAMINGO/Features/MyPage/Personalization/View/PersonalizationView.swift b/TAMINGO/Features/MyPage/Personalization/View/PersonalizationView.swift index ffa8b51..325fd7d 100644 --- a/TAMINGO/Features/MyPage/Personalization/View/PersonalizationView.swift +++ b/TAMINGO/Features/MyPage/Personalization/View/PersonalizationView.swift @@ -12,11 +12,11 @@ struct PersonalizationView: View { @State private var showResetAlert = false var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 16) { MyPageHeader(title: "개인화 학습") - .padding([.horizontal, .top]) + .padding(.horizontal, 32) ScrollView { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 12) { ToggleBox( title: "사용자 행동 수집", sub: "사용자의 행동을 학습하여\n 더 정확한 예측을 제공합니다", @@ -79,9 +79,10 @@ struct PersonalizationView: View { GuideBoxView(title: "학습 데이터 안내", description: "• 이동 패턴이 학습되어 더 정확한 예측이 가능합니다\n• 사용자 수정 내역도 자동으로 학습됩니다\n• 모든 데이터는 기기 내에 안전하게 저장됩니다") .padding(.bottom, 80) } - .padding() + .padding(.horizontal, 32) } } + .padding(.vertical,16) .task { async let _ = viewModel.loadSetting() async let _ = viewModel.loadStatistics() diff --git a/TAMINGO/Features/MyPage/Setting/SettingsView.swift b/TAMINGO/Features/MyPage/Setting/SettingsView.swift index 054bae9..cc20161 100644 --- a/TAMINGO/Features/MyPage/Setting/SettingsView.swift +++ b/TAMINGO/Features/MyPage/Setting/SettingsView.swift @@ -15,57 +15,63 @@ struct SettingsView: View { @State private var showWithdrawAlert = false var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 16) { MyPageHeader(title: "설정") - .padding([.horizontal, .top]) + .padding(.horizontal, 32) ScrollView { - // 앱 정보 - SectionContainerView(title: "앱 정보") { - SettingCard(title: "버전 정보", sub: viewModel.appVersion) { - print("버전 정보 탭") + VStack(alignment: .leading, spacing: 12){ + // 앱 정보 + SectionContainerView(title: "앱 정보") { + SettingCard(title: "버전 정보", sub: viewModel.appVersion) { + print("버전 정보 탭") + } + SettingCard(title: "업데이트 확인", sub: "최신 버전", subColor: .mainMint) { + print("업데이트 확인 탭") + } + SettingCard(title: "오픈소스 라이선스") { + print("오픈소스 라이선스 탭") + } } - SettingCard(title: "업데이트 확인", sub: "최신 버전", subColor: .mainMint) { - print("업데이트 확인 탭") - } - SettingCard(title: "오픈소스 라이선스") { - print("오픈소스 라이선스 탭") - } - } - .padding(.top) - - // 계정 - SectionContainerView(title: "계정") { - SettingCard(title: "로그아웃") { - showLogoutAlert = true - } - SettingCard(title: "회원 탈퇴", isRed: true) { - showWithdrawAlert = true - } - } - - // 약관 및 정책 - SectionContainerView(title: "약관 및 정책") { - SettingCard(title: "서비스 이용약관") { - print("서비스 이용약관 탭") - } - SettingCard(title: "개인정보 처리방침") { - print("개인정보 처리방침 탭") - } - SettingCard(title: "위치 정보 이용약관") { - print("위치 정보 이용약관 탭") + .padding(.horizontal, 32) + + // 계정 + SectionContainerView(title: "계정") { + SettingCard(title: "로그아웃") { + showLogoutAlert = true + } + SettingCard(title: "회원 탈퇴", isRed: true) { + showWithdrawAlert = true + } } - } + .padding(.horizontal, 32) - // 고객센터 - SectionContainerView(title: "고객센터") { - SettingCard(title: "의견 보내기") { - print("의견 보내기 탭") + // 약관 및 정책 + SectionContainerView(title: "약관 및 정책") { + SettingCard(title: "서비스 이용약관") { + print("서비스 이용약관 탭") + } + SettingCard(title: "개인정보 처리방침") { + print("개인정보 처리방침 탭") + } + SettingCard(title: "위치 정보 이용약관") { + print("위치 정보 이용약관 탭") + } + } + .padding(.horizontal, 32) + + // 고객센터 + SectionContainerView(title: "고객센터") { + SettingCard(title: "의견 보내기") { + print("의견 보내기 탭") + } } + .padding(.bottom, 80) + .padding(.horizontal, 32) } - .padding(.bottom, 80) } } + .padding(.vertical, 16) .task { viewModel.loadAppVersion() } @@ -118,7 +124,7 @@ struct SettingCard: View { .frame(width: 6, height: 8) .foregroundStyle(.gray2) } - .padding() + .padding(.vertical) } } } diff --git a/TAMINGO/Features/MyPage/WeeklyReport/View/WeeklyReportView.swift b/TAMINGO/Features/MyPage/WeeklyReport/View/WeeklyReportView.swift index 844de81..fab1f4a 100644 --- a/TAMINGO/Features/MyPage/WeeklyReport/View/WeeklyReportView.swift +++ b/TAMINGO/Features/MyPage/WeeklyReport/View/WeeklyReportView.swift @@ -17,7 +17,7 @@ struct WeeklyReportView: View { var body: some View { VStack(alignment: .leading, spacing: 0) { header - .padding(.horizontal, 16) + .padding(.horizontal, 32) ScrollView { VStack(alignment: .leading, spacing: 16) { @@ -33,11 +33,12 @@ struct WeeklyReportView: View { Spacer() } - .padding(16) + .padding(.vertical, 16) + .padding(.horizontal, 32) } } + .padding(.vertical, 16) .navigationBarBackButtonHidden(true) - .padding(.horizontal,16) .task { await vm.fetchReport() } From 01ead605012d54091ec0eb5ce2ee55eecf840b1b Mon Sep 17 00:00:00 2001 From: e0ng Date: Thu, 19 Feb 2026 22:54:49 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[Refactor]=20=EC=A3=BC=EA=B0=84=20=EB=A6=AC?= =?UTF-8?q?=ED=8F=AC=ED=8A=B8=20=EC=9D=B8=EC=82=AC=EC=9D=B4=ED=8A=B8=20?= =?UTF-8?q?=EC=83=89=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TAMINGO/Features/MyPage/WeeklyReport/Model/InsightType.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAMINGO/Features/MyPage/WeeklyReport/Model/InsightType.swift b/TAMINGO/Features/MyPage/WeeklyReport/Model/InsightType.swift index 498172a..4778673 100644 --- a/TAMINGO/Features/MyPage/WeeklyReport/Model/InsightType.swift +++ b/TAMINGO/Features/MyPage/WeeklyReport/Model/InsightType.swift @@ -38,7 +38,7 @@ extension InsightType { case .task: return .subBlue3 case .suggestion: - return .subPink1 + return .subPink2 case .unknown: return .gray1 } @@ -53,7 +53,7 @@ extension InsightType { case .task: return .subBlue1 case .suggestion: - return .subPink + return .subPink1 case .unknown: return .gray0 }