diff --git a/Classes/Issues/Comments/IssueCommentBaseCell.swift b/Classes/Issues/Comments/IssueCommentBaseCell.swift
index 4d5d5affd..969f949bd 100644
--- a/Classes/Issues/Comments/IssueCommentBaseCell.swift
+++ b/Classes/Issues/Comments/IssueCommentBaseCell.swift
@@ -27,11 +27,7 @@ class IssueCommentBaseCell: UICollectionViewCell, UIGestureRecognizerDelegate {
contentView.clipsToBounds = true
- doubleTapGesture.addTarget(self, action: #selector(onDoubleTap))
- doubleTapGesture.numberOfTapsRequired = 2
- doubleTapGesture.delegate = self
- addGestureRecognizer(doubleTapGesture)
-
+ setUpDoubleTapIfNeeded()
collapseLayer.isHidden = true
collapseLayer.colors = [
UIColor(white: 1, alpha: 0).cgColor,
@@ -96,6 +92,17 @@ class IssueCommentBaseCell: UICollectionViewCell, UIGestureRecognizerDelegate {
collapseButton.isHidden = true
}
+ private func setUpDoubleTapIfNeeded()
+ {
+ // If reaction is set to none, no need for the double-tap
+ if ReactionContent.defaultReaction == .__unknown("Disabled") { return }
+
+ doubleTapGesture.addTarget(self, action: #selector(onDoubleTap))
+ doubleTapGesture.numberOfTapsRequired = 2
+ doubleTapGesture.delegate = self
+ addGestureRecognizer(doubleTapGesture)
+ }
+
// MARK: Private API
@objc private func onDoubleTap() {
diff --git a/Classes/Issues/Comments/IssueCommentSectionController.swift b/Classes/Issues/Comments/IssueCommentSectionController.swift
index f802113b4..712bd74e9 100644
--- a/Classes/Issues/Comments/IssueCommentSectionController.swift
+++ b/Classes/Issues/Comments/IssueCommentSectionController.swift
@@ -437,7 +437,7 @@ final class IssueCommentSectionController:
// MARK: IssueCommentDoubleTapDelegate
func didDoubleTap(cell: IssueCommentBaseCell) {
- let reaction = ReactionContent.thumbsUp
+ let reaction = ReactionContent.defaultReaction
guard let reactions = reactionMutation ?? self.object?.reactions,
!reactions.viewerDidReact(reaction: reaction)
else { return }
diff --git a/Classes/Issues/Comments/Reactions/Defaults+Reaction.swift b/Classes/Issues/Comments/Reactions/Defaults+Reaction.swift
new file mode 100644
index 000000000..445dd11d8
--- /dev/null
+++ b/Classes/Issues/Comments/Reactions/Defaults+Reaction.swift
@@ -0,0 +1,25 @@
+//
+// Defaults+Reaction.swift
+// Freetime
+//
+// Created by Ehud Adler on 7/30/18.
+// Copyright © 2018 Ryan Nystrom. All rights reserved.
+//
+
+extension UserDefaults {
+ // Stores ReactionContent in string form but
+ // accepts and returns in original form
+ static func setDefault(reaction: ReactionContent)
+ {
+ standard.set(reaction.emoji, forKey: "default.reaction")
+ }
+
+ static var getDefaultReaction: ReactionContent
+ {
+ guard let reactionAsString = standard.string(forKey: "default.reaction")
+ else { return ReactionContent.thumbsUp}
+ let reaction = reactionAsString.reaction
+ return reaction
+ }
+
+}
diff --git a/Classes/Issues/Comments/Reactions/ReactionContent+ReactionType.swift b/Classes/Issues/Comments/Reactions/ReactionContent+ReactionType.swift
index 86b0854d8..d5feca0c2 100644
--- a/Classes/Issues/Comments/Reactions/ReactionContent+ReactionType.swift
+++ b/Classes/Issues/Comments/Reactions/ReactionContent+ReactionType.swift
@@ -19,4 +19,22 @@ extension ReactionContent {
case .thumbsDown: return "👎"
}
}
+
+ static var defaultReaction: ReactionContent {
+ return UserDefaults.getDefaultReaction
+ }
+}
+
+extension String {
+ var reaction: ReactionContent {
+ switch self {
+ case "😕": return .confused
+ case "❤️": return .heart
+ case "🎉": return .hooray
+ case "😄": return .laugh
+ case "👍": return .thumbsUp
+ case "👎": return .thumbsDown
+ default: return .__unknown(self)
+ }
+ }
}
diff --git a/Classes/Settings/Settings.storyboard b/Classes/Settings/Settings.storyboard
index b8dfa4a90..365352716 100644
--- a/Classes/Settings/Settings.storyboard
+++ b/Classes/Settings/Settings.storyboard
@@ -20,7 +20,7 @@
-
+