Reactions: Reactions menu: plug unreact

This commit is contained in:
manuroe
2019-05-17 17:39:31 +02:00
parent d320124317
commit 3c512ee7e3
@@ -140,20 +140,32 @@ final class ReactionsMenuViewModel: ReactionsMenuViewModelType {
sself.coordinatorDelegate?.reactionsMenuViewModel(sself, didReactionFailedWithError: error, reaction: reaction.rawValue, isAddReaction: true)
})
self.coordinatorDelegate?.reactionsMenuViewModel(self, didSendReaction: reaction.rawValue, isAddReaction: true)
} else {
// TODO
self.coordinatorDelegate?.reactionsMenuViewModel(self, didSendReaction: reaction.rawValue, isAddReaction: false)
self.aggregations.unReact(onReaction: reaction.rawValue, toEvent: self.eventId, inRoom: self.roomId, success: {[weak self] in
guard let sself = self else {
return
}
sself.coordinatorDelegate?.reactionsMenuViewModel(sself, didReactionComplete: reaction.rawValue, isAddReaction: false)
}, failure: {[weak self] (error) in
print("[ReactionsMenuViewModel] react: Error: \(error)")
guard let sself = self else {
return
}
sself.coordinatorDelegate?.reactionsMenuViewModel(sself, didReactionFailedWithError: error, reaction: reaction.rawValue, isAddReaction: false)
})
}
self.coordinatorDelegate?.reactionsMenuViewModel(self, didSendReaction: reaction.rawValue, isAddReaction: !selected)
if selected {
self.ensure3StateButtons(withReaction: reaction)
}
// TODO: to remove
self.fakeToggleReaction(reaction: reaction)
}
// We can like, dislike, be indifferent but we cannot like & dislike at the same time
@@ -183,20 +195,4 @@ final class ReactionsMenuViewModel: ReactionsMenuViewModelType {
self.react(withReaction: unreaction, selected: false)
}
}
// TODO: to remove
private func fakeToggleReaction(reaction: ReactionsMenuReaction) {
switch reaction {
case .agree:
isAgreeButtonSelected = !isAgreeButtonSelected
case .disagree:
isDisagreeButtonSelected = !isDisagreeButtonSelected
case .like:
isLikeButtonSelected = !isLikeButtonSelected
case .dislike:
isDislikeButtonSelected = !isDislikeButtonSelected
}
self.viewDelegate?.reactionsMenuViewModelDidUpdate(self)
}
}