diff --git a/KkuMulKum/Source/Home/View/HomeView.swift b/KkuMulKum/Source/Home/View/HomeView.swift index 7d68da24..38db8bfa 100644 --- a/KkuMulKum/Source/Home/View/HomeView.swift +++ b/KkuMulKum/Source/Home/View/HomeView.swift @@ -64,7 +64,7 @@ final class HomeView: BaseView { $0.setText("다가올 나의 약속은?", style: .body01, color: .gray8) } - private let todayButton = UIButton().then { + let todayButton = UIButton().then { let icon = UIImage(resource: .iconRight) $0.setImage(icon, for: .normal) } diff --git a/KkuMulKum/Source/Home/ViewController/HomeViewController.swift b/KkuMulKum/Source/Home/ViewController/HomeViewController.swift index c1bdd3a9..66b4e0b6 100644 --- a/KkuMulKum/Source/Home/ViewController/HomeViewController.swift +++ b/KkuMulKum/Source/Home/ViewController/HomeViewController.swift @@ -65,6 +65,11 @@ class HomeViewController: BaseViewController { } override func setupAction() { + rootView.todayButton.addTarget( + self, + action: #selector(todayButtonDidTap), + for: .touchUpInside + ) rootView.todayPromiseView.prepareButton.addTarget( self, action: #selector(prepareButtonDidTap), @@ -116,6 +121,24 @@ extension HomeViewController: UICollectionViewDelegateFlowLayout { ) -> UIEdgeInsets { return contentInset } + + func collectionView( + _ collectionView: UICollectionView, + didSelectItemAt indexPath: IndexPath + ) { + // TODO: promiseID를 모임 상세로 전달 + print( + "promiseID: ", + viewModel.upcomingPromiseList.value?.data?.promises[indexPath.item].promiseID ?? 0 + ) +// let viewController = PromiseInfoViewController( +// viewModel: PromiseInfoViewModel( +// promiseID: viewModel.upcomingPromiseList.value?.data?.promises[indexPath.item].promiseID ?? 0, +// service: PromiseService() +// ) +// ) + //tabBarController?.navigationController?.pushViewController(viewController, animated: true) + } } @@ -354,6 +377,22 @@ private extension HomeViewController { // MARK: - Action + @objc + func todayButtonDidTap(_ sender: UIButton) { + print( + "promiseID: ", + viewModel.nearestPromise.value?.data?.promiseID ?? 0 + ) + // TODO: promiseID를 모임 상세로 전달 +// let viewController = PromiseInfoViewController( +// viewModel: PromiseInfoViewModel( +// promiseID: viewModel.nearestPromise.value?.data?.promiseID ?? 0, +// service: PromiseService() +// ) +// ) + //tabBarController?.navigationController?.pushViewController(viewController, animated: true) + } + @objc func prepareButtonDidTap(_ sender: UIButton) { viewModel.updateState(newState: .prepare) diff --git a/KkuMulKum/Source/MeetingList/ServiceType/MeetingListServiceType.swift b/KkuMulKum/Source/MeetingList/ServiceType/MeetingListServiceType.swift index 60f444c7..d60cfa1c 100644 --- a/KkuMulKum/Source/MeetingList/ServiceType/MeetingListServiceType.swift +++ b/KkuMulKum/Source/MeetingList/ServiceType/MeetingListServiceType.swift @@ -13,6 +13,12 @@ protocol MeetingListServiceType { func fetchMeetingList() -> ResponseBodyDTO } +//extension MeetingService: MeetingListServiceType { +// func fetchMeetingList() -> ResponseBodyDTO { +// <#code#> +// } +//} + final class MockMeetingListService: MeetingListServiceType { func fetchMeetingList() -> ResponseBodyDTO { let mockData = ResponseBodyDTO( diff --git a/KkuMulKum/Source/MeetingList/ViewController/MeetingListViewController.swift b/KkuMulKum/Source/MeetingList/ViewController/MeetingListViewController.swift index 43a343e0..f632d12e 100644 --- a/KkuMulKum/Source/MeetingList/ViewController/MeetingListViewController.swift +++ b/KkuMulKum/Source/MeetingList/ViewController/MeetingListViewController.swift @@ -85,10 +85,9 @@ extension MeetingListViewController: UITableViewDelegate { } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - // TODO: MeetingID를 넘겨받기 let viewController = MeetingInfoViewController( viewModel: MeetingInfoViewModel( - meetingID: 8, + meetingID: viewModel.meetingList.value?.data?.meetings[indexPath.item].meetingID ?? 0, service: MeetingService() ) ) diff --git a/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/SetReadyInfoViewModel.swift b/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/SetReadyInfoViewModel.swift index 8e40a3c0..840b0a6c 100644 --- a/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/SetReadyInfoViewModel.swift +++ b/KkuMulKum/Source/Promise/ReadyStatus/ViewModel/SetReadyInfoViewModel.swift @@ -29,6 +29,16 @@ final class SetReadyInfoViewModel { } } + private func calculateTimes() { + let readyHours = Int(readyHour.value) ?? 0 + let readyMinutes = Int(readyMinute.value) ?? 0 + let moveHours = Int(moveHour.value) ?? 0 + let moveMinutes = Int(moveMinute.value) ?? 0 + + readyTime = readyHours * 60 + readyMinutes + moveTime = moveHours * 60 + moveMinutes + } + func updateTime(textField: String, time: String) { guard let time = Int(time) else { return } @@ -44,6 +54,8 @@ final class SetReadyInfoViewModel { default: break } + + calculateTimes() } func checkValid(