From eb8d2f265b70163f33d86a58a0cc03460a44a22c Mon Sep 17 00:00:00 2001 From: Alexey Karataev Date: Wed, 13 Mar 2019 18:59:59 +0300 Subject: [PATCH] Add haptics for merge results (#2668) --- Classes/Issues/Merge/GithubClient+Merge.swift | 5 +++-- .../Issues/Merge/IssueMergeSectionController.swift | 11 ++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Classes/Issues/Merge/GithubClient+Merge.swift b/Classes/Issues/Merge/GithubClient+Merge.swift index b57ee6f3b..2bfb90c12 100644 --- a/Classes/Issues/Merge/GithubClient+Merge.swift +++ b/Classes/Issues/Merge/GithubClient+Merge.swift @@ -18,7 +18,7 @@ extension GithubClient { repo: String, number: Int, type: IssueMergeType, - error: @escaping () -> Void + completionHandler: @escaping (_ success: Bool) -> Void ) { let newLabels = IssueLabelsModel( status: IssueLabelStatusModel( @@ -54,9 +54,10 @@ extension GithubClient { switch result { case .success: cache.set(value: optimisticResult) + completionHandler(true) case .failure(let err): Squawk.show(error: err) - error() + completionHandler(false) } } } diff --git a/Classes/Issues/Merge/IssueMergeSectionController.swift b/Classes/Issues/Merge/IssueMergeSectionController.swift index 35bfc539e..866b3243e 100644 --- a/Classes/Issues/Merge/IssueMergeSectionController.swift +++ b/Classes/Issues/Merge/IssueMergeSectionController.swift @@ -74,9 +74,14 @@ ListBindingSectionControllerSelectionDelegate { repo: model.repo, number: model.number, type: preferredMergeType, - error: { [weak self] in - self?.loading = false - self?.update(animated: true) + completionHandler: { [weak self] isSuccessfulMerge in + if isSuccessfulMerge { + Haptic.triggerNotification(.success) + } else { + self?.loading = false + self?.update(animated: true) + Haptic.triggerNotification(.error) + } }) }