From 03804564db6c96b929e543caadd1f890ddf40ee4 Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Tue, 11 Aug 2026 23:23:27 +0900 Subject: [PATCH 01/12] =?UTF-8?q?[FEAT]=20=ED=86=A0=ED=81=B0=EC=9E=AC?= =?UTF-8?q?=EB=B0=9C=ED=96=89=20=EB=A1=9C=EC=A7=81=20=EB=B0=8F=20=EB=94=94?= =?UTF-8?q?=EC=BD=94=EB=94=A9=20=EB=AA=A8=EB=8D=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Sources/Core/Network/NetworkError.swift | 1 + GAMSS/Sources/Core/Network/NetworkManager.swift | 10 ++++++++++ .../DTO/Auth/Response/ReissueTokenResponseDTO.swift | 13 +++++++++++++ GAMSS/Sources/Data/Storage/TokenStorage.swift | 7 ++++--- 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 GAMSS/Sources/Data/DTO/Auth/Response/ReissueTokenResponseDTO.swift diff --git a/GAMSS/Sources/Core/Network/NetworkError.swift b/GAMSS/Sources/Core/Network/NetworkError.swift index 5af786f..14383cf 100644 --- a/GAMSS/Sources/Core/Network/NetworkError.swift +++ b/GAMSS/Sources/Core/Network/NetworkError.swift @@ -12,4 +12,5 @@ enum NetworkError: Error { case invalidResponse case httpError(statusCode: Int) case decodingError + case expiredToken } diff --git a/GAMSS/Sources/Core/Network/NetworkManager.swift b/GAMSS/Sources/Core/Network/NetworkManager.swift index 42d441f..fc51d7f 100644 --- a/GAMSS/Sources/Core/Network/NetworkManager.swift +++ b/GAMSS/Sources/Core/Network/NetworkManager.swift @@ -56,6 +56,16 @@ final class NetworkManager: NetworkRequesting { from: data ).error + if apiError?.code == "EXPIRED_TOKEN" { + do { + try await TokenStorage.shared.reissueToken() + } catch { + Log.error("Token reissue failed: \(error)") + } + + throw NetworkError.expiredToken + } + Log.error(""" ❌ API Error StatusCode: \(response.statusCode) diff --git a/GAMSS/Sources/Data/DTO/Auth/Response/ReissueTokenResponseDTO.swift b/GAMSS/Sources/Data/DTO/Auth/Response/ReissueTokenResponseDTO.swift new file mode 100644 index 0000000..5885a13 --- /dev/null +++ b/GAMSS/Sources/Data/DTO/Auth/Response/ReissueTokenResponseDTO.swift @@ -0,0 +1,13 @@ +// +// ReissueTokenResponseDTO.swift +// GAMSS +// +// Created by 이건준 on 8/8/26. +// + +import Foundation + +struct ReissueTokenResponseDTO: Decodable { + let accessToken: String + let refreshToken: String +} diff --git a/GAMSS/Sources/Data/Storage/TokenStorage.swift b/GAMSS/Sources/Data/Storage/TokenStorage.swift index 47d0586..bbdea8a 100644 --- a/GAMSS/Sources/Data/Storage/TokenStorage.swift +++ b/GAMSS/Sources/Data/Storage/TokenStorage.swift @@ -12,13 +12,14 @@ final class TokenStorage { private init() {} - func reissueToken() throws { - guard LoginState.current != .notLoggedIn else { + func reissueToken() async throws { + guard let refreshToken = readToken(.refreshToken) else { try TokenStorage.shared.deleteTokens() return } - /// TODO: - accessToken, refreshToken 재발행 로직 필요 + let response = try await NetworkManager.shared.request(AuthEndpoint.reissueToken(.init(refreshToken: refreshToken)), responseType: APIResponse.self).data + try createTokens(accessToken: response.accessToken, refreshToken: response.refreshToken) } func createTokens(accessToken: String, refreshToken: String) throws { From aef1bae897240b0bc9880d4df268ab015251ff06 Mon Sep 17 00:00:00 2001 From: LEEGEONJUN Date: Wed, 12 Aug 2026 13:26:01 +0900 Subject: [PATCH 02/12] =?UTF-8?q?[FEAT]=20LoginSession=EC=9D=84=20?= =?UTF-8?q?=ED=86=B5=ED=95=9C=20=ED=99=94=EB=A9=B4=20=EC=A7=84=EC=9E=85?= =?UTF-8?q?=EC=A0=90=20=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Sources/App/GAMSSApp.swift | 4 +- .../Presentation/Login/LoginView.swift | 4 +- .../Presentation/Login/LoginViewModel.swift | 30 +++++++------ .../Sources/Presentation/Root/RootView.swift | 42 +++++++++++++++++++ 4 files changed, 61 insertions(+), 19 deletions(-) create mode 100644 GAMSS/Sources/Presentation/Root/RootView.swift diff --git a/GAMSS/Sources/App/GAMSSApp.swift b/GAMSS/Sources/App/GAMSSApp.swift index b443764..8d9e395 100644 --- a/GAMSS/Sources/App/GAMSSApp.swift +++ b/GAMSS/Sources/App/GAMSSApp.swift @@ -23,8 +23,8 @@ struct GAMSSApp: App { var body: some Scene { WindowGroup { - MainTabView() - .preferredColorScheme(.light) + RootView() + .preferredColorScheme(.light) } // 디자인 토큰이 다크모드 값을 갖고 있지만 디자이너가 아직 다크모드 화면을 설계하지 // 않았다 — 시스템 다크모드를 그대로 따라가면 색상이 라이트/다크 목적과 반대로 diff --git a/GAMSS/Sources/Presentation/Login/LoginView.swift b/GAMSS/Sources/Presentation/Login/LoginView.swift index b167c49..bb56e46 100644 --- a/GAMSS/Sources/Presentation/Login/LoginView.swift +++ b/GAMSS/Sources/Presentation/Login/LoginView.swift @@ -9,6 +9,7 @@ import AuthenticationServices import SwiftUI struct LoginView: View { + @SwiftUI.Environment(LoginSession.self) private var loginState @StateObject private var viewModel: LoginViewModel @State private var currentNonce: String? @@ -48,9 +49,10 @@ struct LoginView: View { credential: credential, nonce: nonce ) + loginState.value = LoginState.current } case .failure(let error): - print(error.localizedDescription) + Log.debug(error.localizedDescription) } } } diff --git a/GAMSS/Sources/Presentation/Login/LoginViewModel.swift b/GAMSS/Sources/Presentation/Login/LoginViewModel.swift index 583d1ff..10ce284 100644 --- a/GAMSS/Sources/Presentation/Login/LoginViewModel.swift +++ b/GAMSS/Sources/Presentation/Login/LoginViewModel.swift @@ -24,22 +24,20 @@ final class LoginViewModel: ObservableObject { credential: ASAuthorizationAppleIDCredential, nonce: String ) async { - Task { - isLoading = true - - defer { - isLoading = false - } - - do { - try await loginUseCase.login( - with: socialType, - credential: credential, - nonce: nonce - ) - } catch { - errorMessage = error.localizedDescription - } + isLoading = true + + defer { + isLoading = false + } + + do { + try await loginUseCase.login( + with: socialType, + credential: credential, + nonce: nonce + ) + } catch { + errorMessage = error.localizedDescription } } } diff --git a/GAMSS/Sources/Presentation/Root/RootView.swift b/GAMSS/Sources/Presentation/Root/RootView.swift new file mode 100644 index 0000000..de71c39 --- /dev/null +++ b/GAMSS/Sources/Presentation/Root/RootView.swift @@ -0,0 +1,42 @@ +// +// RootView.swift +// GAMSS +// +// Created by 이건준 on 8/12/26. +// + +import SwiftUI + +@Observable +final class LoginSession { + var value: LoginState = .current +} + +struct RootView: View { + @State private var loginSession = LoginSession() + + var body: some View { + Group { + switch loginSession.value { + case .notLoggedIn: + LoginView( + viewModel: LoginViewModel( + loginUseCase: DefaultLoginUseCase( + authRepository: DefaultAuthRepository( + networkManager: NetworkManager.shared, + tokenStorage: TokenStorage.shared + ) + ) + ) + ) + case .autoLoginPending, .loggedIn: + MainTabView() + } + } + .environment(loginSession) + } +} + +#Preview { + RootView() +} From 18ca08f5cdac905cad5425b8451fb1ee8a62e072 Mon Sep 17 00:00:00 2001 From: LEEGEONJUN Date: Wed, 12 Aug 2026 14:48:21 +0900 Subject: [PATCH 03/12] =?UTF-8?q?[FEAT]=20=EC=9D=B4=EC=9A=A9=EC=95=BD?= =?UTF-8?q?=EA=B4=80=20URL=EB=9D=84=EC=9A=B8=20SafariView=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Core/Components/Safari/SafariView.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 GAMSS/Sources/Core/Components/Safari/SafariView.swift diff --git a/GAMSS/Sources/Core/Components/Safari/SafariView.swift b/GAMSS/Sources/Core/Components/Safari/SafariView.swift new file mode 100644 index 0000000..6e87bb6 --- /dev/null +++ b/GAMSS/Sources/Core/Components/Safari/SafariView.swift @@ -0,0 +1,22 @@ +// +// SafariView.swift +// GAMSS +// +// Created by 이건준 on 8/12/26. +// + +import SafariServices +import SwiftUI + +struct SafariView: UIViewControllerRepresentable { + let url: URL + + func makeUIViewController(context: Context) -> SFSafariViewController { + SFSafariViewController(url: url) + } + + func updateUIViewController( + _ uiViewController: SFSafariViewController, + context: Context + ) {} +} From f38d68b4926a8ba67078f4188c74d9acda358ee7 Mon Sep 17 00:00:00 2001 From: LEEGEONJUN Date: Wed, 12 Aug 2026 14:49:10 +0900 Subject: [PATCH 04/12] =?UTF-8?q?[FEAT]=20=EC=95=B1=EB=B2=84=EC=A0=84,=20?= =?UTF-8?q?=EC=95=BD=EA=B4=80=20URL=EC=97=90=20=EB=8C=80=ED=95=9C=20Enviro?= =?UTF-8?q?nment=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Info.plist | 4 ++++ GAMSS/Sources/Core/Environment.swift | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/GAMSS/Info.plist b/GAMSS/Info.plist index c0fffca..382660a 100644 --- a/GAMSS/Info.plist +++ b/GAMSS/Info.plist @@ -6,6 +6,10 @@ $(APP_NAME) BASE_URL $(BASE_URL) + TERMS_OF_SERVICE_URL + $(TERMS_OF_SERVICE_URL) + PRIVACY_POLICY_URL + $(PRIVACY_POLICY_URL) FIREBASE_CRASHLYTICS_COLLECTION_ENABLED NO UIDesignRequiresCompatibility diff --git a/GAMSS/Sources/Core/Environment.swift b/GAMSS/Sources/Core/Environment.swift index 5abc263..feecd67 100644 --- a/GAMSS/Sources/Core/Environment.swift +++ b/GAMSS/Sources/Core/Environment.swift @@ -25,10 +25,30 @@ public enum Environment { return value(key: "APP_NAME") }() + /// 앱 버전 (`MARKETING_VERSION` → `CFBundleShortVersionString`) + static let appVersion: String = { + guard let version = infoDictionary["CFBundleShortVersionString"] as? String, + !version.isEmpty + else { + return "-" + } + return version + }() + /// 서버 Base URL static let baseURL: String = { return value(key: "BASE_URL") }() + + /// 서비스 이용약관 URL + static let termsOfServiceURL: String = { + return value(key: "TERMS_OF_SERVICE_URL") + }() + + /// 개인정보 처리방침 URL + static let privacyPolicyURL: String = { + return value(key: "PRIVACY_POLICY_URL") + }() } // MARK: I/O 관련 코드 From 4e46cd9130cfd13d4785edccb42e03e752e7053d Mon Sep 17 00:00:00 2001 From: LEEGEONJUN Date: Wed, 12 Aug 2026 14:49:30 +0900 Subject: [PATCH 05/12] =?UTF-8?q?[FEAT]=20SettingView=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/Setting/SettingItem.swift | 77 +++++++++++++++ .../Setting/SettingListItemView.swift | 97 +++++++++++++++++++ .../Presentation/Setting/SettingView.swift | 56 +++++++++++ 3 files changed, 230 insertions(+) create mode 100644 GAMSS/Sources/Presentation/Setting/SettingItem.swift create mode 100644 GAMSS/Sources/Presentation/Setting/SettingListItemView.swift create mode 100644 GAMSS/Sources/Presentation/Setting/SettingView.swift diff --git a/GAMSS/Sources/Presentation/Setting/SettingItem.swift b/GAMSS/Sources/Presentation/Setting/SettingItem.swift new file mode 100644 index 0000000..19e59b4 --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/SettingItem.swift @@ -0,0 +1,77 @@ +// +// SettingItem.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/12/26. +// + +import Foundation + +enum SettingSection: CaseIterable, Identifiable { + case account + case service + + var id: Self { self } + + var items: [SettingItem] { + switch self { + case .account: + [.accountInfo, .notification] + case .service: + [.termsOfService, .privacyPolicy, .appVersion] + } + } +} + +enum SettingItem: Identifiable { + case accountInfo + case notification + case termsOfService + case privacyPolicy + case appVersion + + var id: Self { self } + + var title: String { + switch self { + case .accountInfo: + "계정 정보" + case .notification: + "알림 설정" + case .termsOfService: + "서비스 이용약관" + case .privacyPolicy: + "개인정보 처리방침" + case .appVersion: + "앱 버전" + } + } + + enum Action { + case navigate + case web(String) + case none + } + + var action: Action { + switch self { + case .accountInfo, .notification: + .navigate + case .termsOfService: + .web(Environment.termsOfServiceURL) + case .privacyPolicy: + .web(Environment.privacyPolicyURL) + case .appVersion: + .none + } + } + + var showsDividerBelow: Bool { + switch self { + case .accountInfo, .notification: + true + case .termsOfService, .privacyPolicy, .appVersion: + false + } + } +} diff --git a/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift b/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift new file mode 100644 index 0000000..c97dc4c --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift @@ -0,0 +1,97 @@ +// +// SettingListItemView.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/12/26. +// + +import SwiftUI + +struct SettingListItemView: View { + let item: SettingItem + + @State private var presentedWebPage: WebPage? + + var body: some View { + Group { + switch item.action { + case .navigate: + NavigationLink { + Text("\(item.title) 화면 이동") + } label: { row } + .buttonStyle(.plain) + + case let .web(urlString): + Button { + presentWeb(urlString) + } label: { row } + .buttonStyle(.plain) + + case .none: + row + } + } + .sheet(item: $presentedWebPage) { page in + SafariView(url: page.url) + .ignoresSafeArea() + } + } +} + +// MARK: - ItemView + +extension SettingListItemView { + private var row: some View { + HStack(spacing: Spacing.spacing100) { + Text(item.title) + .typography(.body3Medium) + .foregroundStyle(Color.colorGray950) + + if item == .notification { + badge(isOn: false) + } + + Spacer(minLength: 0) + + if item == .appVersion { + Text(Environment.appVersion) + .typography(.body3Medium) + .foregroundStyle(Color.colorGray500) + } + } + .padding(.vertical, Spacing.spacing400) + .contentShape(Rectangle()) + } + + private func badge(isOn: Bool) -> some View { + Text(isOn ? "ON" : "OFF") + .typography(.body6Medium) + .foregroundStyle(Color.colorGray900) + .padding(.horizontal, Spacing.spacing075) + .padding(.vertical, Spacing.spacing025) + .background(Color.colorGray200) + .clipShape(Capsule()) + } + + private func presentWeb(_ urlString: String) { + guard let url = URL(string: urlString) else { return } + presentedWebPage = WebPage(url: url) + } +} + +private struct WebPage: Identifiable { + let id = UUID() + let url: URL +} + +#Preview { + NavigationStack { + VStack(spacing: 0) { + SettingListItemView(item: .accountInfo) + SettingListItemView(item: .notification) + SettingListItemView(item: .termsOfService) + SettingListItemView(item: .appVersion) + } + .padding(.horizontal, Spacing.spacing300) + } +} diff --git a/GAMSS/Sources/Presentation/Setting/SettingView.swift b/GAMSS/Sources/Presentation/Setting/SettingView.swift new file mode 100644 index 0000000..a3ebfe6 --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/SettingView.swift @@ -0,0 +1,56 @@ +// +// SettingView.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/12/26. +// + +import SwiftUI + +struct SettingView: View { + var body: some View { + VStack(alignment: .leading, spacing: 0) { + header + .padding(.horizontal, Spacing.spacing300) + .padding(.top, Spacing.spacing300) + .padding(.bottom, Spacing.spacing500) + + VStack(spacing: 0) { + ForEach(SettingSection.allCases) { section in + ForEach(section.items) { item in + SettingListItemView(item: item) + .padding(.horizontal, 18) + + if item.showsDividerBelow { + fullWidthDivider + } + } + } + } + + Spacer() + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(Color.colorWhite) + .navigationBarHidden(true) + } + + private var header: some View { + Image(.logoGamss) + .resizable() + .scaledToFit() + .frame(height: 24) + } + + private var fullWidthDivider: some View { + Color.colorGray075 + .frame(height: 2) + .frame(maxWidth: .infinity) + } +} + +#Preview { + NavigationStack { + SettingView() + } +} From 877f6ac8cd9d4969257f7daccb69a3764733a9e6 Mon Sep 17 00:00:00 2001 From: LEEGEONJUN Date: Wed, 12 Aug 2026 14:49:47 +0900 Subject: [PATCH 06/12] =?UTF-8?q?[FEAT]=20=ED=99=88=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20->=20=EC=84=A4=EC=A0=95=20=ED=99=94=EB=A9=B4=20=EC=97=B0?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Sources/Presentation/Home/HomeView.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/GAMSS/Sources/Presentation/Home/HomeView.swift b/GAMSS/Sources/Presentation/Home/HomeView.swift index 1c47ccc..a5b61de 100644 --- a/GAMSS/Sources/Presentation/Home/HomeView.swift +++ b/GAMSS/Sources/Presentation/Home/HomeView.swift @@ -10,6 +10,8 @@ import SwiftUI struct HomeView: View { @StateObject private var viewModel: HomeViewModel @FocusState private var isInputFocused: Bool + @Binding private var isTabBarHidden: Bool + @State private var isSettingPresented = false init(viewModel: HomeViewModel) { _viewModel = StateObject(wrappedValue: viewModel) @@ -57,6 +59,11 @@ struct HomeView: View { ) .toolbar(.hidden, for: .tabBar) } + .navigationDestination(isPresented: $isSettingPresented) { + SettingView() + .onAppear { isTabBarHidden = true } + .onDisappear { isTabBarHidden = false } + } } .alert(viewModel.alertMessage ?? "", isPresented: Binding( get: { viewModel.alertMessage != nil }, @@ -75,8 +82,12 @@ struct HomeView: View { Spacer() - Image(systemName: "gearshape") - .foregroundStyle(Color.colorGray500) + Button { + isSettingPresented = true + } label: { + Image(systemName: "gearshape") + .foregroundStyle(Color.colorGray500) + } } } From 30caedcb4f36fa246fc19fa0031e946de55583eb Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 00:26:49 +0900 Subject: [PATCH 07/12] =?UTF-8?q?[FEAT]=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=EB=8A=94=20=EC=9C=84=ED=95=9C=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Sources/Core/UserManager.swift | 17 +++++++++++++++++ GAMSS/Sources/Domain/Entity/User.swift | 15 +++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 GAMSS/Sources/Core/UserManager.swift create mode 100644 GAMSS/Sources/Domain/Entity/User.swift diff --git a/GAMSS/Sources/Core/UserManager.swift b/GAMSS/Sources/Core/UserManager.swift new file mode 100644 index 0000000..ef1765d --- /dev/null +++ b/GAMSS/Sources/Core/UserManager.swift @@ -0,0 +1,17 @@ +// +// UserManager.swift +// GAMSS +// +// Created by 이건준 on 8/13/26. +// + +import Foundation + +@Observable +final class UserManager { + static let shared = UserManager() + + var user: User? + + private init() {} +} diff --git a/GAMSS/Sources/Domain/Entity/User.swift b/GAMSS/Sources/Domain/Entity/User.swift new file mode 100644 index 0000000..01f22e9 --- /dev/null +++ b/GAMSS/Sources/Domain/Entity/User.swift @@ -0,0 +1,15 @@ +// +// User.swift +// GAMSS +// +// Created by 이건준 on 8/13/26. +// + +import Foundation + +struct User { + let id: Int + let email: String + let name: String + let nickname: String +} From 173511d65b85bc0d42946ab704b039d126339e9b Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 00:27:23 +0900 Subject: [PATCH 08/12] =?UTF-8?q?[FEAT]=20=EB=A1=9C=EA=B7=B8=EC=95=84?= =?UTF-8?q?=EC=9B=83=20=EA=B8=B0=EB=8A=A5=EC=9D=84=20=EC=9C=84=ED=95=9C=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repository/DefaultAuthRepository.swift | 5 +++++ .../Domain/Repository/AuthRepository.swift | 5 +++-- .../UseCase/Auth/DefaultLogoutUseCase.swift | 20 +++++++++++++++++++ .../Domain/UseCase/Auth/LogoutUseCase.swift | 12 +++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 GAMSS/Sources/Domain/UseCase/Auth/DefaultLogoutUseCase.swift create mode 100644 GAMSS/Sources/Domain/UseCase/Auth/LogoutUseCase.swift diff --git a/GAMSS/Sources/Data/Repository/DefaultAuthRepository.swift b/GAMSS/Sources/Data/Repository/DefaultAuthRepository.swift index ff8c6fe..3468d8d 100644 --- a/GAMSS/Sources/Data/Repository/DefaultAuthRepository.swift +++ b/GAMSS/Sources/Data/Repository/DefaultAuthRepository.swift @@ -21,6 +21,11 @@ final class DefaultAuthRepository: AuthRepository { self.tokenStorage = tokenStorage } + func logout() async throws { + _ = try await networkManager.request(AuthEndpoint.logout, responseType: APIResponse.self) + try tokenStorage.deleteTokens() + } + func login( with socialType: SocialType, credential: ASAuthorizationAppleIDCredential, diff --git a/GAMSS/Sources/Domain/Repository/AuthRepository.swift b/GAMSS/Sources/Domain/Repository/AuthRepository.swift index 3b949a2..af10c86 100644 --- a/GAMSS/Sources/Domain/Repository/AuthRepository.swift +++ b/GAMSS/Sources/Domain/Repository/AuthRepository.swift @@ -7,11 +7,12 @@ import AuthenticationServices -// FIXME: - 로그인 시 올바른 응답값으로 수정 필요 protocol AuthRepository { func login( with socialType: SocialType, credential: ASAuthorizationAppleIDCredential, nonce: String - ) async throws + ) async throws + + func logout() async throws } diff --git a/GAMSS/Sources/Domain/UseCase/Auth/DefaultLogoutUseCase.swift b/GAMSS/Sources/Domain/UseCase/Auth/DefaultLogoutUseCase.swift new file mode 100644 index 0000000..c303213 --- /dev/null +++ b/GAMSS/Sources/Domain/UseCase/Auth/DefaultLogoutUseCase.swift @@ -0,0 +1,20 @@ +// +// DefaultLogoutUseCase.swift +// GAMSS +// +// Created by 이건준 on 8/13/26. +// + +import Foundation + +final class DefaultLogoutUseCase: LogoutUseCase { + private let authRepository: AuthRepository + + init(authRepository: AuthRepository) { + self.authRepository = authRepository + } + + func logout() async throws { + try await authRepository.logout() + } +} diff --git a/GAMSS/Sources/Domain/UseCase/Auth/LogoutUseCase.swift b/GAMSS/Sources/Domain/UseCase/Auth/LogoutUseCase.swift new file mode 100644 index 0000000..4eba096 --- /dev/null +++ b/GAMSS/Sources/Domain/UseCase/Auth/LogoutUseCase.swift @@ -0,0 +1,12 @@ +// +// LogoutUseCase.swift +// GAMSS +// +// Created by 이건준 on 8/13/26. +// + +import Foundation + +protocol LogoutUseCase { + func logout() async throws +} From 3bc611e3f3440045644f3a6a84b1e6c415975850 Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 15:10:19 +0900 Subject: [PATCH 09/12] =?UTF-8?q?[FEAT]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emotions.imageset/Contents.json | 23 ++++++++++++++++++ .../emotions.imageset/emotions.png | Bin 0 -> 28134 bytes .../emotions.imageset/emotions@2x.png | Bin 0 -> 63262 bytes .../emotions.imageset/emotions@3x.png | Bin 0 -> 101569 bytes .../Presentation/Login/LoginView.swift | 22 +++++++++++++++-- 5 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 GAMSS/Resources/Assets.xcassets/emotions.imageset/Contents.json create mode 100644 GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions.png create mode 100644 GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions@2x.png create mode 100644 GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions@3x.png diff --git a/GAMSS/Resources/Assets.xcassets/emotions.imageset/Contents.json b/GAMSS/Resources/Assets.xcassets/emotions.imageset/Contents.json new file mode 100644 index 0000000..c10899e --- /dev/null +++ b/GAMSS/Resources/Assets.xcassets/emotions.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "emotions.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "emotions@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "emotions@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions.png b/GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba1018f594d71beada6c14e75c25839ea947543 GIT binary patch literal 28134 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�LA>nu7liYG>hLpGvQ@yMK z;5!=5HC9g+XK*&#Gm+{#L)TlrrJiGi64daA6v}d-;N|FiwXCw=ss%59w&3~B*K`jp zACH+97Ve2=1A2lag3(NF(*0Lu{WQtb!fBsbo`g0wWM(N!B`Sx}OF?Z-H1@;qW0)ef z@+++mC9pS(<4NYzzq%ZXIaWaoR4U?ejr@!XV_c~v^r&rkX@)BTH!~08rLWw`=RDod zv~+c@l;A3U_#w>J^|;RMNVKZT3kjLU)fsf+o4q{i$z6RGDbq$21l32S(|wYbyF(&u zg1Bo-XIXT?whW~r^_GH8MpTY%KV0spm`F=c$vw*7hlQMob?8Zk-yfB}XUYm4q>;@;z>=dfnL}!eapre`R4b7LtSH&Zy!0{z z2qmyVz}mm)o~@UhP=N{$cQB*ch#LWwo0TVLy~ZI~7tR7ZN5M5b4$Bs`Tvre_N!UKw zfGfCtynZP*t<&9D6H_P8wMFbjUOzJC5wYrBLFn|b~myP;Nt6>GYD!L~pb zZmChmp=2o+-JoFjqBW#zqaGD6379Ocz3ntuxR9(`kY z`??WFy-+*-dd-DH;+MgYikE>q9%!|uiPy%c&>+8kc2u4#+ya(G=o zb&)Gz$&}rm646dV*W`f7MHL7u4n%ck*9$TvmvJ~-p~$fsK>N=Gg+*7U{YBw2^v^1dX~e)4acjK zSxR`StoyYW(RBZe#YsIx4-?!lk+w32TvK@_pOBs%Rm1 zZk=#TlIx2Uf2DTWdFnp^Z{Xk&8>IsObp;6Z9_z94elJS`zP**$BK0U7yw9(Gof3&7 z#37~RrEt6Ou^yt(_rZW6GEyGHZS@D%FmX(37XRI41|^axAtGJ#$sJ`JUcmq#1+%k7 zxA7wV_S+J(vlh%Aen0hxW#;z7s!VhlIQU~-c=+)$h4KJG29dj!CcyZYLC5~(> z#bsnWfXHTgc~9Vm!vqCv_1=r)H4}mbXDt&cX6J8DvA6@8xvB&OHewYmrFv~oTe>f5|z_;9-jI7T1rlZv}c0^4#eIxKWD) z%W}n6<0rNh73UNse9+bs?!LD!+}A8k+b(3r@=}}cJ^wiCjCKlnc{SXAN6Eez z#uBZw-mm-Khgao`4F)dvbJj&kKO+2ji<;--9_14?pHMJ^3AO^k=gYWIhd1oC#a@MR zc(u>A1?OGe4z2}!MLv&CRMb>!is`{AI?|O&4;>$#O)Lkw%7U5EnV@R;1%Q0DXE$q& zq4au{!?|Mj0mt_(G3w&$v~nfmX)&-J>xxm_)z~1t&(QNR3zT)uJ2m60jdp_sp?5oA z7udH~?kFnsIlZASW*!Z|8m^63{PaG8Tr%$Ezp39+Q%%*+RGJOl_1c?6BRr)8h8NgV znh+|3rjqL8BpVfZw0|tU;JJIoSTB3y?05{{M8CQFLW2eCEp@ZDC%rLXn@!!psonwD z421`vH}EOal~gMP5@Pt3qE@+UJCe;CMg5K^du_yEs<2H_4)aZ0_mga;i`(AA=MiU(kZXUO~2ggr&lqQpNs-JH)< z$g`%54s3^4{5>{`{$n!(4KyLjY?U{H=~fn-g^Lv_`Kds%wxXcMEgF$J0g(P$?QWt` zlmOB%0e|ym=&XPuv~p4JHx)N`rJ|tqvU)EBA0^jEfXFW=4E`mt{6*I2D?RYaOT3q? zZe%V1ApXYStYnHzN7~znbs2z+#FVOZmLTFW&+GHglIBaQrD<;5Py$lmwYj3HMTiIr zotVl;kjvJ-jmSD}IWZkUNRt5TcIHmwz6lj%${T$%Y+@N$g9I;qN9(8 zjB&XCKRf-;0u&_D@#Xa8Qw(3T)b8Irh(HlIWtH|lr$`KhRUA}b;=>&$*P~O*?FaOL{$x}r^gS0Ef zwXcK6nQl(!w*eomohE#xC+vMgDpH67wzDreBB1TVujJ>N3hEsh=3 Mg?P2GuzKk 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 z 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 Q6$1RFB&RN03;Y!Je>~^P2><{9 literal 0 HcmV?d00001 diff --git a/GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions@3x.png b/GAMSS/Resources/Assets.xcassets/emotions.imageset/emotions@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1b4c6c1623873ae8309153999e57194bab1044 GIT binary patch literal 101569 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 literal 0 HcmV?d00001 diff --git a/GAMSS/Sources/Presentation/Login/LoginView.swift b/GAMSS/Sources/Presentation/Login/LoginView.swift index bb56e46..2861f7c 100644 --- a/GAMSS/Sources/Presentation/Login/LoginView.swift +++ b/GAMSS/Sources/Presentation/Login/LoginView.swift @@ -20,9 +20,21 @@ struct LoginView: View { } var body: some View { - - // FIXME: 소셜로그인관련 Mock 버튼 추후 수정 VStack(alignment: .center) { + Spacer() + + Image(.logoGamss) + .padding(.bottom, 12) + Text("오늘의 감정을 비워보세요") + .foregroundStyle(Color.colorGray950) + .typography(.subtitle2) + .padding(.bottom, 32) + Image(.emotions) + .resizable() + .scaledToFit() + .padding(.bottom, 54) + .padding(.horizontal, 31) + SignInWithAppleButton(.signIn) { request in let nonce = NonceGenerator.generate() currentNonce = nonce @@ -55,6 +67,12 @@ struct LoginView: View { Log.debug(error.localizedDescription) } } + .frame(height: 54) + .padding(.horizontal, 18) + + Spacer() } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(Color.colorWhite) } } From ff5006475126060792b07abbea3e4846c6b38740 Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 15:11:17 +0900 Subject: [PATCH 10/12] =?UTF-8?q?[REFACTOR]=20=EA=B8=B0=EC=A1=B4=20?= =?UTF-8?q?=EA=B3=84=EC=A0=95,=20=EC=84=A4=EC=A0=95=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EA=B5=AC=EC=A1=B0=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MenuListItemView를 통한 구조 개선 --- .../Components/List/MenuListItemView.swift | 60 +++++++++ .../Sources/Presentation/Root/RootView.swift | 1 + .../Setting/Account/AccountItem.swift | 58 ++++++++ .../Setting/Account/AccountView.swift | 126 ++++++++++++++++++ .../Setting/Account/AccountViewModel.swift | 34 +++++ .../Setting/SettingListItemView.swift | 97 -------------- .../Presentation/Setting/SettingView.swift | 110 ++++++++++++--- 7 files changed, 371 insertions(+), 115 deletions(-) create mode 100644 GAMSS/Sources/Core/Components/List/MenuListItemView.swift create mode 100644 GAMSS/Sources/Presentation/Setting/Account/AccountItem.swift create mode 100644 GAMSS/Sources/Presentation/Setting/Account/AccountView.swift create mode 100644 GAMSS/Sources/Presentation/Setting/Account/AccountViewModel.swift delete mode 100644 GAMSS/Sources/Presentation/Setting/SettingListItemView.swift diff --git a/GAMSS/Sources/Core/Components/List/MenuListItemView.swift b/GAMSS/Sources/Core/Components/List/MenuListItemView.swift new file mode 100644 index 0000000..8cc6f4e --- /dev/null +++ b/GAMSS/Sources/Core/Components/List/MenuListItemView.swift @@ -0,0 +1,60 @@ +// +// MenuListItemView.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/13/26. +// + +import SwiftUI + +struct MenuListItemView: View { + let title: String + var titleColor: Color = .colorGray950 + var badgeText: String? + var trailingText: String? + var trailingColor: Color = .colorGray500 + + var body: some View { + HStack(spacing: Spacing.spacing100) { + Text(title) + .typography(.body3Medium) + .foregroundStyle(titleColor) + + if let badgeText { + badge(badgeText) + } + + Spacer(minLength: 0) + + if let trailingText { + Text(trailingText) + .typography(.body3Medium) + .foregroundStyle(trailingColor) + } + } + .frame(height: 40) + .padding(.vertical, Spacing.spacing200) + .frame(maxWidth: .infinity, alignment: .leading) + .contentShape(Rectangle()) + } + + private func badge(_ text: String) -> some View { + Text(text) + .typography(.body6Medium) + .foregroundStyle(Color.colorGray900) + .padding(.horizontal, Spacing.spacing075) + .padding(.vertical, Spacing.spacing025) + .background(Color.colorGray200) + .clipShape(Capsule()) + } +} + +#Preview { + VStack(spacing: 0) { + MenuListItemView(title: "계정 정보") + MenuListItemView(title: "알림 설정", badgeText: "OFF") + MenuListItemView(title: "앱 버전", trailingText: "0.0.1") + MenuListItemView(title: "회원탈퇴", titleColor: .colorRed) + } + .padding(.horizontal, 18) +} diff --git a/GAMSS/Sources/Presentation/Root/RootView.swift b/GAMSS/Sources/Presentation/Root/RootView.swift index de71c39..0187785 100644 --- a/GAMSS/Sources/Presentation/Root/RootView.swift +++ b/GAMSS/Sources/Presentation/Root/RootView.swift @@ -34,6 +34,7 @@ struct RootView: View { } } .environment(loginSession) + .environment(UserManager.shared) } } diff --git a/GAMSS/Sources/Presentation/Setting/Account/AccountItem.swift b/GAMSS/Sources/Presentation/Setting/Account/AccountItem.swift new file mode 100644 index 0000000..843f944 --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/Account/AccountItem.swift @@ -0,0 +1,58 @@ +// +// AccountItem.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/13/26. +// + +import SwiftUI + +enum AccountItem: CaseIterable, Identifiable { + case changeNickname + case email + case logout + case withdraw + + var id: Self { self } + + var title: String { + switch self { + case .changeNickname: + "닉네임 변경" + case .email: + "이메일" + case .logout: + "로그아웃" + case .withdraw: + "회원탈퇴" + } + } + + var titleColor: Color { + switch self { + case .withdraw: + .colorRed + case .changeNickname, .email, .logout: + .colorGray950 + } + } + + enum Action { + case navigate + case logout + case none + } + + var action: Action { + switch self { + case .changeNickname: + .navigate + case .email: + .none + case .logout: + .logout + case .withdraw: + .navigate + } + } +} diff --git a/GAMSS/Sources/Presentation/Setting/Account/AccountView.swift b/GAMSS/Sources/Presentation/Setting/Account/AccountView.swift new file mode 100644 index 0000000..da912be --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/Account/AccountView.swift @@ -0,0 +1,126 @@ +// +// AccountView.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/13/26. +// + +import SwiftUI + +struct AccountView: View { + let title: String + + @StateObject private var viewModel: AccountViewModel + @SwiftUI.Environment(LoginSession.self) private var loginSession + @SwiftUI.Environment(UserManager.self) private var userManager + @SwiftUI.Environment(\.dismiss) private var dismiss + + init(title: String, viewModel: AccountViewModel) { + self.title = title + _viewModel = StateObject(wrappedValue: viewModel) + } + + var body: some View { + VStack(alignment: .leading, spacing: 0) { + header + .padding(.horizontal, 18) + .padding(.vertical, Spacing.spacing400) + + ForEach(AccountItem.allCases) { item in + accountItem(item) + .padding(.horizontal, 18) + } + + Spacer() + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .background(Color.colorWhite) + .toolbar(.hidden, for: .navigationBar) + .alert( + viewModel.errorMessage ?? "", + isPresented: Binding( + get: { viewModel.errorMessage != nil }, + set: { if !$0 { viewModel.errorMessage = nil } } + ) + ) { + Button("확인", role: .cancel) {} + } + } + + private var header: some View { + HStack(spacing: 12) { + Button { + dismiss() + } label: { + Image(systemName: "chevron.left") + .foregroundStyle(Color.colorGray900) + } + Text(title) + .typography(.subtitle2) + .foregroundStyle(Color.colorGray900) + Spacer() + } + } + + @ViewBuilder + private func accountItem(_ item: AccountItem) -> some View { + let row = MenuListItemView( + title: item.title, + titleColor: item.titleColor, + trailingText: trailingText(for: item) + ) + + switch item.action { + case .navigate: + NavigationLink { + Text("\(item.title) 화면 이동") + } label: { + row + } + .buttonStyle(.plain) + + case .logout: + Button { + Task { + await viewModel.logout() + loginSession.value = .current + } + } label: { + row + } + .buttonStyle(.plain) + + case .none: + row + } + } + + private func trailingText(for item: AccountItem) -> String? { + switch item { + case .changeNickname: + userManager.user?.nickname ?? "-" + case .email: + userManager.user?.email ?? "-" + case .logout, .withdraw: + nil + } + } +} + +#Preview { + NavigationStack { + AccountView( + title: SettingItem.accountInfo.title, + viewModel: AccountViewModel( + logoutUseCase: DefaultLogoutUseCase( + authRepository: DefaultAuthRepository( + networkManager: NetworkManager.shared, + tokenStorage: TokenStorage.shared + ) + ) + ) + ) + .environment(LoginSession()) + .environment(UserManager.shared) + } +} diff --git a/GAMSS/Sources/Presentation/Setting/Account/AccountViewModel.swift b/GAMSS/Sources/Presentation/Setting/Account/AccountViewModel.swift new file mode 100644 index 0000000..d67b38e --- /dev/null +++ b/GAMSS/Sources/Presentation/Setting/Account/AccountViewModel.swift @@ -0,0 +1,34 @@ +// +// AccountViewModel.swift +// GAMSS +// +// Created by LEEGEONJUN on 8/13/26. +// + +import Combine +import Foundation + +@MainActor +final class AccountViewModel: ObservableObject { + private let logoutUseCase: LogoutUseCase + private let userManager: UserManager + + @Published var errorMessage: String? + + init( + logoutUseCase: LogoutUseCase, + userManager: UserManager = .shared + ) { + self.logoutUseCase = logoutUseCase + self.userManager = userManager + } + + func logout() async { + do { + try await logoutUseCase.logout() + userManager.user = nil + } catch { + errorMessage = error.localizedDescription + } + } +} diff --git a/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift b/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift deleted file mode 100644 index c97dc4c..0000000 --- a/GAMSS/Sources/Presentation/Setting/SettingListItemView.swift +++ /dev/null @@ -1,97 +0,0 @@ -// -// SettingListItemView.swift -// GAMSS -// -// Created by LEEGEONJUN on 8/12/26. -// - -import SwiftUI - -struct SettingListItemView: View { - let item: SettingItem - - @State private var presentedWebPage: WebPage? - - var body: some View { - Group { - switch item.action { - case .navigate: - NavigationLink { - Text("\(item.title) 화면 이동") - } label: { row } - .buttonStyle(.plain) - - case let .web(urlString): - Button { - presentWeb(urlString) - } label: { row } - .buttonStyle(.plain) - - case .none: - row - } - } - .sheet(item: $presentedWebPage) { page in - SafariView(url: page.url) - .ignoresSafeArea() - } - } -} - -// MARK: - ItemView - -extension SettingListItemView { - private var row: some View { - HStack(spacing: Spacing.spacing100) { - Text(item.title) - .typography(.body3Medium) - .foregroundStyle(Color.colorGray950) - - if item == .notification { - badge(isOn: false) - } - - Spacer(minLength: 0) - - if item == .appVersion { - Text(Environment.appVersion) - .typography(.body3Medium) - .foregroundStyle(Color.colorGray500) - } - } - .padding(.vertical, Spacing.spacing400) - .contentShape(Rectangle()) - } - - private func badge(isOn: Bool) -> some View { - Text(isOn ? "ON" : "OFF") - .typography(.body6Medium) - .foregroundStyle(Color.colorGray900) - .padding(.horizontal, Spacing.spacing075) - .padding(.vertical, Spacing.spacing025) - .background(Color.colorGray200) - .clipShape(Capsule()) - } - - private func presentWeb(_ urlString: String) { - guard let url = URL(string: urlString) else { return } - presentedWebPage = WebPage(url: url) - } -} - -private struct WebPage: Identifiable { - let id = UUID() - let url: URL -} - -#Preview { - NavigationStack { - VStack(spacing: 0) { - SettingListItemView(item: .accountInfo) - SettingListItemView(item: .notification) - SettingListItemView(item: .termsOfService) - SettingListItemView(item: .appVersion) - } - .padding(.horizontal, Spacing.spacing300) - } -} diff --git a/GAMSS/Sources/Presentation/Setting/SettingView.swift b/GAMSS/Sources/Presentation/Setting/SettingView.swift index a3ebfe6..06506b7 100644 --- a/GAMSS/Sources/Presentation/Setting/SettingView.swift +++ b/GAMSS/Sources/Presentation/Setting/SettingView.swift @@ -8,22 +8,22 @@ import SwiftUI struct SettingView: View { + @SwiftUI.Environment(\.dismiss) private var dismiss + @State private var presentedWebPage: WebPage? + var body: some View { - VStack(alignment: .leading, spacing: 0) { + VStack { header - .padding(.horizontal, Spacing.spacing300) - .padding(.top, Spacing.spacing300) - .padding(.bottom, Spacing.spacing500) + .padding(.horizontal, 18) + .padding(.vertical, Spacing.spacing400) - VStack(spacing: 0) { - ForEach(SettingSection.allCases) { section in - ForEach(section.items) { item in - SettingListItemView(item: item) - .padding(.horizontal, 18) - - if item.showsDividerBelow { - fullWidthDivider - } + ForEach(SettingSection.allCases) { section in + ForEach(section.items) { item in + settingItem(item) + .padding(.horizontal, 18) + + if item.showsDividerBelow { + fullWidthDivider } } } @@ -32,14 +32,26 @@ struct SettingView: View { } .frame(maxWidth: .infinity, maxHeight: .infinity) .background(Color.colorWhite) - .navigationBarHidden(true) + .toolbar(.hidden, for: .navigationBar) + .sheet(item: $presentedWebPage) { page in + SafariView(url: page.url) + .ignoresSafeArea() + } } private var header: some View { - Image(.logoGamss) - .resizable() - .scaledToFit() - .frame(height: 24) + HStack(spacing: 12) { + Button { + dismiss() + } label: { + Image(systemName: "chevron.left") + .foregroundStyle(Color.colorGray900) + } + Text("설정") + .typography(.subtitle2) + .foregroundStyle(Color.colorGray900) + Spacer() + } } private var fullWidthDivider: some View { @@ -47,6 +59,68 @@ struct SettingView: View { .frame(height: 2) .frame(maxWidth: .infinity) } + + @ViewBuilder + private func settingItem(_ item: SettingItem) -> some View { + let row = MenuListItemView( + title: item.title, + badgeText: item == .notification ? "OFF" : nil, + trailingText: item == .appVersion ? Environment.appVersion : nil + ) + + switch item.action { + case .navigate: + NavigationLink { + destination(for: item) + } label: { + row + } + .buttonStyle(.plain) + + case let .web(urlString): + Button { + presentWeb(urlString) + } label: { + row + } + .buttonStyle(.plain) + + case .none: + row + } + } + + @ViewBuilder + private func destination(for item: SettingItem) -> some View { + switch item { + case .accountInfo: + AccountView( + title: item.title, + viewModel: AccountViewModel( + logoutUseCase: DefaultLogoutUseCase( + authRepository: DefaultAuthRepository( + networkManager: NetworkManager.shared, + tokenStorage: TokenStorage.shared + ) + ) + ) + ) + case .notification: + Text("알림 설정 화면 이동") + case .termsOfService, .privacyPolicy, .appVersion: + EmptyView() + } + } + + private func presentWeb(_ urlString: String) { + guard let url = URL(string: urlString) else { return } + presentedWebPage = WebPage(url: url) + } +} + +private struct WebPage: Identifiable { + let id = UUID() + let url: URL } #Preview { From b2b15f11694490a6cc1c9c6f5ddcfcf98fe1b309 Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 15:23:59 +0900 Subject: [PATCH 11/12] =?UTF-8?q?[FEAT]=20xcconfig=20=EC=95=BD=EA=B4=80?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20URL=20string=20Key=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Config/Debug.xcconfig | 4 ++++ GAMSS/Config/Release.xcconfig | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/GAMSS/Config/Debug.xcconfig b/GAMSS/Config/Debug.xcconfig index f926c94..f1bf9f4 100644 --- a/GAMSS/Config/Debug.xcconfig +++ b/GAMSS/Config/Debug.xcconfig @@ -16,3 +16,7 @@ APP_NAME = // Network Defines BASE_URL = + +// Web +TERMS_OF_SERVICE_URL = +PRIVACY_POLICY_URL = diff --git a/GAMSS/Config/Release.xcconfig b/GAMSS/Config/Release.xcconfig index 7d52b9c..91b7bf3 100644 --- a/GAMSS/Config/Release.xcconfig +++ b/GAMSS/Config/Release.xcconfig @@ -16,3 +16,7 @@ APP_NAME = // Network Defines BASE_URL = + +// Web +TERMS_OF_SERVICE_URL = +PRIVACY_POLICY_URL = From 5b2d9c010028147d6a7c66d21dff8590d4d755f5 Mon Sep 17 00:00:00 2001 From: dlrjswns Date: Thu, 13 Aug 2026 20:52:13 +0900 Subject: [PATCH 12/12] =?UTF-8?q?[FIX]=20=EB=B3=91=ED=95=A9=EC=B6=A9?= =?UTF-8?q?=EB=8F=8C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GAMSS/Sources/Presentation/Home/HomeView.swift | 3 --- 1 file changed, 3 deletions(-) diff --git a/GAMSS/Sources/Presentation/Home/HomeView.swift b/GAMSS/Sources/Presentation/Home/HomeView.swift index a5b61de..1711140 100644 --- a/GAMSS/Sources/Presentation/Home/HomeView.swift +++ b/GAMSS/Sources/Presentation/Home/HomeView.swift @@ -10,7 +10,6 @@ import SwiftUI struct HomeView: View { @StateObject private var viewModel: HomeViewModel @FocusState private var isInputFocused: Bool - @Binding private var isTabBarHidden: Bool @State private var isSettingPresented = false init(viewModel: HomeViewModel) { @@ -61,8 +60,6 @@ struct HomeView: View { } .navigationDestination(isPresented: $isSettingPresented) { SettingView() - .onAppear { isTabBarHidden = true } - .onDisappear { isTabBarHidden = false } } } .alert(viewModel.alertMessage ?? "", isPresented: Binding(