diff --git a/Projects/App/Sources/Feature/MainFeature/Sources/LocationPostViewModel.swift b/Projects/App/Sources/Feature/MainFeature/Sources/LocationPostViewModel.swift index 9cb4e51..f89c04b 100644 --- a/Projects/App/Sources/Feature/MainFeature/Sources/LocationPostViewModel.swift +++ b/Projects/App/Sources/Feature/MainFeature/Sources/LocationPostViewModel.swift @@ -83,7 +83,7 @@ final class LocationPostViewModel: ObservableObject { @MainActor public func fetchDomitoryList() { - authProvider.request(.fetchDommitoryPostList(authorization: accessToken)) { result in + authProvider.request(.fetchDomitoryPostList(authorization: accessToken)) { result in switch result { case let .success(res): do { diff --git a/Projects/App/Sources/Feature/MainFeature/Sources/MainViewModel.swift b/Projects/App/Sources/Feature/MainFeature/Sources/MainViewModel.swift index d498d82..ed234e9 100644 --- a/Projects/App/Sources/Feature/MainFeature/Sources/MainViewModel.swift +++ b/Projects/App/Sources/Feature/MainFeature/Sources/MainViewModel.swift @@ -12,6 +12,7 @@ public final class MainViewModel: ObservableObject { @Published public var playgroundPostList: [Post] = [] @Published public var domitoryPostList: [Post] = [] @Published public var walkingTrailPostList: [Post] = [] + @Published var selectedIndices: [String: Int] = [:] @MainActor public func fetchAllPostList() { @@ -32,5 +33,16 @@ public final class MainViewModel: ObservableObject { print("Network request failed: \(err)") } } + +// self.allPostList = fetchPostsFromServer() +// self.selectedIndices = Dictionary(uniqueKeysWithValues: allPostList.map { ($0.id, 0) }) } + +// private func fetchPostsFromServer() -> [Post] { +// // 서버에서 게시글 목록 가져오기 (예제) +// return [ +// Post(id: "1", title: "Post 1", location: "Location 1", author: Author(name: "Author 1", grade: 1), imageUrl: ["https://example.com/image1.jpg"], tagList: [], emojiList: EmojiList(), checkEmoji: [], createdTime: "2024-12-31T00:00:00"), +// Post(id: "2", title: "Post 2", location: "Location 2", author: Author(name: "Author 2", grade: 2), imageUrl: ["https://example.com/image2.jpg"], tagList: [], emojiList: EmojiList(), checkEmoji: [], createdTime: "2024-12-31T00:00:00"), +// ] +// } } diff --git a/Projects/Domain/Sources/API/Main/MainAPI.swift b/Projects/Domain/Sources/API/Main/MainAPI.swift index ca468f2..48b4e84 100644 --- a/Projects/Domain/Sources/API/Main/MainAPI.swift +++ b/Projects/Domain/Sources/API/Main/MainAPI.swift @@ -5,7 +5,7 @@ public enum MainAPI { case fetchAllPostList(authorization: String) case fetchGymPostList(authorization: String) case fetchPlaygroundPostList(authorization: String) - case fetchDommitoryPostList(authorization: String) + case fetchDomitoryPostList(authorization: String) case fetchHomePostList(authorization: String) case fetchWalkingTrailPostList(authorization: String) } @@ -17,14 +17,14 @@ extension MainAPI: TargetType { public var path: String { switch self { - case .fetchAllPostList, .fetchGymPostList, .fetchDommitoryPostList, .fetchHomePostList, .fetchPlaygroundPostList, .fetchWalkingTrailPostList: + case .fetchAllPostList, .fetchGymPostList, .fetchDomitoryPostList, .fetchHomePostList, .fetchPlaygroundPostList, .fetchWalkingTrailPostList: return "/post" } } public var method: Moya.Method { switch self { - case .fetchAllPostList, .fetchGymPostList, .fetchDommitoryPostList, .fetchHomePostList, .fetchPlaygroundPostList, .fetchWalkingTrailPostList: + case .fetchAllPostList, .fetchGymPostList, .fetchDomitoryPostList, .fetchHomePostList, .fetchPlaygroundPostList, .fetchWalkingTrailPostList: return .get } } @@ -41,8 +41,8 @@ extension MainAPI: TargetType { return .requestParameters(parameters: ["location" : "GYM"], encoding: URLEncoding.queryString) case .fetchPlaygroundPostList(authorization: let authorization): return .requestParameters(parameters: ["location" : "PLAYGROUND"], encoding: URLEncoding.queryString) - case .fetchDommitoryPostList(authorization: let authorization): - return .requestParameters(parameters: ["location" : "DOMITORRY"], encoding: URLEncoding.queryString) + case .fetchDomitoryPostList(authorization: let authorization): + return .requestParameters(parameters: ["location" : "DOMITORY"], encoding: URLEncoding.queryString) case .fetchHomePostList(authorization: let authorization): return .requestParameters(parameters: ["location" : "HOME"], encoding: URLEncoding.queryString) case .fetchWalkingTrailPostList(authorization: let authorization): @@ -52,7 +52,7 @@ extension MainAPI: TargetType { public var headers: [String : String]? { switch self { - case .fetchAllPostList(let authorization), .fetchGymPostList(let authorization), .fetchPlaygroundPostList(let authorization), .fetchDommitoryPostList(let authorization), .fetchHomePostList(let authorization), .fetchWalkingTrailPostList(let authorization): + case .fetchAllPostList(let authorization), .fetchGymPostList(let authorization), .fetchPlaygroundPostList(let authorization), .fetchDomitoryPostList(let authorization), .fetchHomePostList(let authorization), .fetchWalkingTrailPostList(let authorization): return ["Authorization": "Bearer \(authorization)"] } }