// // SelectAcademyViewModel.swift // AcaMate // // Created by TAnine on 2/19/25. // import SwiftUI import Combine class SelectAcademyViewModel: ObservableObject { private var cancellables: Set = [] @Published var academyCode: String = "" @Published var academyList: [AcademyName] = [] @Published var selectNum: Int = -1 func loadAcademy(bids: [String]) { loadAPIData(url: "\(API_URL)", path: "/api/v1/in/user/academy", method: .post, parameters: ["bids": bids], decodingType: APIResponse<[AcademyName]>.self) .sink { completion in switch completion { case .failure(let error): printLog("\(error)") case .finished: break } } receiveValue: { [weak self] response in guard let self = self else {return} guard let academyNames = response as? APIResponse<[AcademyName]> else {return} self.academyList = academyNames.data } .store(in: &cancellables) } func toggleSelection(for index: Int){ if selectNum == index { selectNum = -1 } else { selectNum = index }} }