Skip to content

Commit

Permalink
feat/#223 지각 꾸물이 뷰 화면 전환 및 로직 연결
Browse files Browse the repository at this point in the history
  • Loading branch information
youz2me committed Jul 18, 2024
1 parent 7ccca0a commit 51dfc9e
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ class PromiseInfoViewController: BaseViewController {
fatalError("init(coder:) has not been implemented")
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

// TODO: 서버 통신하고 데이터 바인딩
}

override func setupView() {
view.addSubview(promiseInfoView)
self.navigationController?.navigationBar.shadowImage = nil
Expand Down
2 changes: 1 addition & 1 deletion KkuMulKum/Source/Promise/Tardy/View/TardyView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class TardyView: BaseView {

let finishMeetingButton: CustomButton = CustomButton(
title: "약속 마치기",
isEnabled: false
isEnabled: true
).then {
$0.backgroundColor = .maincolor
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,20 @@ class TardyViewController: BaseViewController {
// MARK: - Setup

override func loadView() {
view = tardyViewModel.hasTardy.value ? tardyView : arriveView
let state = !tardyViewModel.hasTardy.value && tardyViewModel.isPastDue.value
view = state ? tardyView : arriveView
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

// TODO: 서버 통신하고 데이터 바인딩
}

override func viewDidLoad() {
super.viewDidLoad()

setupBinding()
}

override func setupDelegate() {
Expand All @@ -43,6 +56,23 @@ class TardyViewController: BaseViewController {
}


// MARK: - Extension

private extension TardyViewController {
func setupBinding() {
/// 시간이 지나고 지각자가 없을 때 arriveView로 띄워짐
tardyViewModel.hasTardy.bind(with: self) { owner, flag in
let state = !flag && owner.tardyViewModel.isPastDue.value
owner.view = state ? owner.tardyView : owner.arriveView
}

/// isFinishButtonEnabled에 따라서 버튼 활성화 상태 변경
tardyViewModel.isFinishButtonEnabled.bind(with: self) { owner, flag in
self.tardyView.finishMeetingButton.isEnabled = flag
}
}
}

// MARK: UICollectionViewDelegate

extension TardyViewController: UICollectionViewDelegate {
Expand All @@ -57,6 +87,7 @@ extension TardyViewController: UICollectionViewDataSource {
_ collectionView: UICollectionView,
numberOfItemsInSection section: Int
) -> Int {
// TODO: 데이터 바인딩
return 10
}

Expand Down
5 changes: 3 additions & 2 deletions KkuMulKum/Source/Promise/Tardy/ViewModel/TardyViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ class TardyViewModel {
// MARK: Property

let tardyService: TardyServiceType
var isPastDue: ObservablePattern<Bool> = ObservablePattern<Bool>(false)
var hasTardy: ObservablePattern<Bool> = ObservablePattern<Bool>(false)
var isPastDue: ObservablePattern<Bool> = ObservablePattern<Bool>(true)
var hasTardy: ObservablePattern<Bool> = ObservablePattern<Bool>(true)
var isFinishButtonEnabled: ObservablePattern<Bool> = ObservablePattern<Bool>(true)
let promiseID: ObservablePattern<Int>


Expand Down

0 comments on commit 51dfc9e

Please sign in to comment.