// // RegisterViewModel.swift // AcaMate // // Created by TAnine on 3/24/25. // import SwiftUI import Combine class RegisterViewModel: ObservableObject { private var cancellables = Set() private let appVM: AppViewModel private let responseValue: (SNSLoginType, String) init(_ appVM: AppViewModel, type: SNSLoginType, snsID: String) { self.appVM = appVM self.responseValue = (type, snsID) } let addressBtnID = UUID() let registerBtnID = UUID() @Published var selectDate: Date = { let calendar = Calendar.current return calendar.date(byAdding: .year, value: 0, to: Date()) ?? Date() }() { didSet { if selectDate != oldValue { changeDate = true } } } @Published var changeDate: Bool = false @Published var nameText: String = "" @Published var emailFrontText: String = "" @Published var emailTailText: String = "" @Published var numberHead: String = "" @Published var phoneTextSet: (String,String,String) = ("","","") @Published var addressText: String = "주소 입력" @Published var addrDetailText: String = "" let numberHeadList = ["010","011","016","017","018","019"] let emailTailList = ["gmail.com", "naver.com", "daum.net", "hanmail.net", "nate.com", "outlook.com", "icloud.com", "kakao.com", "yahoo.com", "protonmail.com", "직접 입력"] func registerUser() { // 필수 값 if nameText != "" && emailFrontText != "" && emailTailText != "" && phoneTextSet.0 != "" && phoneTextSet.1 != "" && phoneTextSet.2 != "" { if !changeDate || addressText == "주소 입력" { appVM.alertData = AlertData( title: "알림", body: "\(changeDate ? "":"[생일]")\((addressText != "주소 입력") ? "":"[주소]")의 내용이 없습니다.\n 계속해서 진행할까요?", button: [ButtonType(name: "확인", role: .cancel, function: nil)]) appVM.showAlert.toggle() // 넘어가는 로직도 추가 } else { //정상 동작 } } else { appVM.alertData = AlertData( title: "경고", body: "필수 입력 사항이 누락되었습니다.", button: [ButtonType(name: "확인", role: .cancel, function: nil)]) appVM.showAlert.toggle() } } }