From 79b1f6c68b8258a8c34513d737bc339639ef04d2 Mon Sep 17 00:00:00 2001 From: youz2me Date: Fri, 20 Sep 2024 16:36:02 +0900 Subject: [PATCH] =?UTF-8?q?feat/#388=20=EC=95=BD=EC=86=8D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95,=20=EB=82=98=EA=B0=80=EA=B8=B0=20=EB=B2=84=ED=8A=BC?= =?UTF-8?q?=20=EC=95=A1=EC=85=98=20=EA=B5=AC=ED=98=84=20=EB=B0=8F=20?= =?UTF-8?q?=EC=B0=B8=EC=97=AC=ED=95=98=EC=A7=80=20=EC=95=8A=EC=9D=80=20?= =?UTF-8?q?=EC=95=BD=EC=86=8D=EC=9D=BC=20=EA=B2=BD=EC=9A=B0=20=EC=A4=80?= =?UTF-8?q?=EB=B9=84=20=ED=98=84=ED=99=A9=20=EB=B2=84=ED=8A=BC=20=EB=AA=BB?= =?UTF-8?q?=EB=88=84=EB=A5=B4=EA=B2=8C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/PromiseViewController.swift | 12 ++++++++++++ .../ViewController/ReadyStatusViewController.swift | 1 + .../Source/Promise/ViewModel/PromiseViewModel.swift | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/KkuMulKum/Source/Promise/PagePromise/ViewController/PromiseViewController.swift b/KkuMulKum/Source/Promise/PagePromise/ViewController/PromiseViewController.swift index c0ccbaf..41dd5ea 100644 --- a/KkuMulKum/Source/Promise/PagePromise/ViewController/PromiseViewController.swift +++ b/KkuMulKum/Source/Promise/PagePromise/ViewController/PromiseViewController.swift @@ -184,6 +184,14 @@ private extension PromiseViewController { toast.show(message: message, view: owner.view, position: .bottom, inset: 100) } + + viewModel.isExitSuccess.bindOnMain(with: self) { owner, isSuccess in + owner.navigationController?.popViewController(animated: true) + } + + viewModel.isDeleteSuccess.bindOnMain(with: self) { owner, isSuccess in + owner.navigationController?.popViewController(animated: true) + } } @objc @@ -226,9 +234,13 @@ private extension PromiseViewController { extension PromiseViewController: CustomActionSheetDelegate { func actionButtonDidTap(for kind: ActionSheetKind) { if kind == .deletePromise { + viewModel.deletePromise() + dismiss(animated: false) } else { + viewModel.exitPromise() + dismiss(animated: false) } } diff --git a/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift b/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift index ae05f9b..61c2e4f 100644 --- a/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift +++ b/KkuMulKum/Source/Promise/ReadyStatus/ViewController/ReadyStatusViewController.swift @@ -116,6 +116,7 @@ extension ReadyStatusViewController { $0.enterReadyButtonView.isHidden = owner.viewModel.isReadyInfoEntered() $0.readyPlanInfoView.isHidden = !$0.enterReadyButtonView.isHidden $0.enterReadyButtonView.isUserInteractionEnabled = isParticipant + $0.myReadyStatusProgressView.isUserInteractionEnabled = isParticipant } } diff --git a/KkuMulKum/Source/Promise/ViewModel/PromiseViewModel.swift b/KkuMulKum/Source/Promise/ViewModel/PromiseViewModel.swift index f8fec74..06243ea 100644 --- a/KkuMulKum/Source/Promise/ViewModel/PromiseViewModel.swift +++ b/KkuMulKum/Source/Promise/ViewModel/PromiseViewModel.swift @@ -30,6 +30,8 @@ class PromiseViewModel { let participantList = ObservablePattern<[Participant]>([]) let tardyList = ObservablePattern<[Comer]>([]) let isFinishSuccess = ObservablePattern(nil) + let isDeleteSuccess = ObservablePattern(nil) + let isExitSuccess = ObservablePattern(nil) let errorMessage = ObservablePattern(nil) var pageControlDirection = false @@ -359,6 +361,8 @@ extension PromiseViewModel { print(">>>>> \(String(describing: result)) : \(#function)") return } + + isDeleteSuccess.value = success } catch { print(">>>>> \(error.localizedDescription) : \(#function)") } @@ -377,6 +381,8 @@ extension PromiseViewModel { print(">>>>> \(String(describing: result)) : \(#function)") return } + + isExitSuccess.value = success } catch { print(">>>>> \(error.localizedDescription) : \(#function)") }