Skip to content

Commit 27361d0

Browse files
committed
fullScreenCover로 변경, 주석 제거
1 parent ecdcfc5 commit 27361d0

File tree

3 files changed

+23
-39
lines changed

3 files changed

+23
-39
lines changed

Projects/App/Sources/Feature/LoginFeature/Sources/LoginView.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ struct LoginView: View {
3333
LoginButton(loginViewModel: viewModel)
3434
.padding(.bottom, 40)
3535
}
36-
37-
if viewModel.isSignedIn == true {
38-
UserInfoView(viewModel: UserInfoViewModel())
39-
}
36+
}
37+
.fullScreenCover(isPresented: $viewModel.isSignedIn) {
38+
UserInfoView(viewModel: UserInfoViewModel())
4039
}
4140
}
4241
}

Projects/App/Sources/Feature/UserInfoFeature/Sources/UserInfoViewModel.swift

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,40 @@ import Moya
44
import Domain
55

66
final class UserInfoViewModel: ObservableObject {
7-
// 입력된 사용자 정보
87
@Published var name: String = ""
98
@Published var number: String = ""
109

11-
// 네트워크 요청 상태를 나타내는 퍼블리셔
1210
@Published var isLoading: Bool = false
1311
@Published var errorMessage: String? = nil
1412

15-
// Moya 프로바이더 초기화
1613
private let provider = MoyaProvider<UserAPI>()
1714

1815
private func fetchAccessToken() -> String? {
1916
return KeyChain.shared.read(key: Const.KeyChainKey.accessToken)
2017
}
2118

22-
// 사용자 정보 제출 함수
2319
func submitUserInfo() {
24-
// 로딩 상태 시작
2520
isLoading = true
2621
errorMessage = nil
2722
print("name: \(name), number: \(number)")
2823

29-
// 인증 토큰 (실제 앱에서는 안전한 저장소에서 가져와야 함)
3024
guard let authorizationToken = fetchAccessToken() else { return }
3125

32-
// API 호출
3326
provider.request(.userInfoInput(authorization: authorizationToken, name: name, number: number, file: nil)) { [weak self] result in
34-
// 로딩 상태 종료
3527
DispatchQueue.main.async {
3628
self?.isLoading = false
3729
}
3830

3931
switch result {
4032
case .success(let response):
41-
// 서버 응답 처리
4233
if (200...299).contains(response.statusCode) {
43-
// 성공 처리
4434
print("사용자 정보가 성공적으로 전송되었습니다.")
4535
} else {
46-
// 서버 오류 메시지 처리
4736
DispatchQueue.main.async {
4837
self?.errorMessage = "서버 오류: \(response.statusCode)"
4938
}
5039
}
5140
case .failure(let error):
52-
// 네트워크 오류 처리
5341
DispatchQueue.main.async {
5442
self?.errorMessage = "네트워크 오류: \(error.localizedDescription)"
5543
}

Projects/Domain/Sources/API/User/UserAPI.swift

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,28 @@ extension UserAPI: TargetType {
2929
}
3030

3131
public var task: Task {
32-
switch self {
33-
case let .userInfoInput(authorization, name, number, file):
34-
// Form data (name, number) and file upload using multipart
35-
var formData: [MultipartFormData] = [
36-
MultipartFormData(provider: .data(name.data(using: .utf8)!), name: "name"),
37-
MultipartFormData(provider: .data(number.data(using: .utf8)!), name: "number")
38-
]
39-
40-
// 이미지가 존재하면 추가
41-
if let fileData = file {
42-
let fileFormData = MultipartFormData(provider: .data(fileData), name: "image", fileName: "profile_image.jpg", mimeType: "image/jpeg")
43-
formData.append(fileFormData)
44-
}
45-
46-
return .uploadMultipart(formData)
32+
switch self {
33+
case let .userInfoInput(_, name, number, file):
34+
var formData: [MultipartFormData] = [
35+
MultipartFormData(provider: .data(name.data(using: .utf8)!), name: "name"),
36+
MultipartFormData(provider: .data(number.data(using: .utf8)!), name: "number")
37+
]
38+
39+
if let fileData = file {
40+
let fileFormData = MultipartFormData(provider: .data(fileData), name: "image", fileName: "profile_image.jpg", mimeType: "image/jpeg")
41+
formData.append(fileFormData)
4742
}
43+
44+
return .uploadMultipart(formData)
4845
}
46+
}
4947

50-
public var headers: [String : String]? {
51-
switch self {
52-
case .userInfoInput(let authorization, _, _, _):
53-
return [
54-
"Authorization": "Bearer \(authorization)", // Authorization token
55-
"Content-Type": "multipart/form-data" // Set content type for multipart requests
56-
]
57-
}
48+
public var headers: [String : String]? {
49+
switch self {
50+
case .userInfoInput(let authorization, _, _, _):
51+
return [
52+
"Authorization": authorization
53+
]
5854
}
55+
}
5956
}

0 commit comments

Comments
 (0)