diff --git a/Classes/Settings/DefaultReactionDetailController.swift b/Classes/Settings/DefaultReactionDetailController.swift
index b6ec7d160..eb4647d6a 100644
--- a/Classes/Settings/DefaultReactionDetailController.swift
+++ b/Classes/Settings/DefaultReactionDetailController.swift
@@ -8,6 +8,10 @@
import UIKit
+protocol DefaultReactionDelegate: class {
+ func didUpdateDefaultReaction()
+}
+
class DefaultReactionDetailController: UITableViewController {
@IBOutlet var thumbsUpCell: UITableViewCell!
@@ -18,6 +22,8 @@ class DefaultReactionDetailController: UITableViewController {
@IBOutlet var heartCell: UITableViewCell!
@IBOutlet var enabledSwitch: UISwitch!
+ weak var delegate: DefaultReactionDelegate?
+
override func viewDidLoad() {
super.viewDidLoad()
checkCurrentDefault()
@@ -95,10 +101,12 @@ class DefaultReactionDetailController: UITableViewController {
private func updateDefault(reaction: ReactionContent) {
UserDefaults.standard.setDefault(reaction: reaction)
checkCurrentDefault()
+ delegate?.didUpdateDefaultReaction()
}
private func disableReaction() {
UserDefaults.standard.disableReaction()
+ delegate?.didUpdateDefaultReaction()
}
private func updateSections() {
diff --git a/Classes/Settings/Settings.storyboard b/Classes/Settings/Settings.storyboard
index bbfb09fa5..8b592e44d 100644
--- a/Classes/Settings/Settings.storyboard
+++ b/Classes/Settings/Settings.storyboard
@@ -185,9 +185,6 @@
-
-
-
@@ -454,7 +451,7 @@
-
+
@@ -703,24 +700,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Classes/Settings/SettingsViewController.swift b/Classes/Settings/SettingsViewController.swift
index 33da7442d..c38c1546f 100644
--- a/Classes/Settings/SettingsViewController.swift
+++ b/Classes/Settings/SettingsViewController.swift
@@ -12,7 +12,7 @@ import GitHubSession
import Squawk
final class SettingsViewController: UITableViewController,
-NewIssueTableViewControllerDelegate {
+NewIssueTableViewControllerDelegate, DefaultReactionDelegate {
// must be injected
var sessionManager: GitHubSessionManager!
@@ -62,8 +62,7 @@ NewIssueTableViewControllerDelegate {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
- defaultReactionLabel.text = ReactionContent.defaultReaction?.emoji
- ?? NSLocalizedString("Off", comment: "")
+ updateDefaultReaction()
rz_smoothlyDeselectRows(tableView: tableView)
accountsCell.detailTextLabel?.text = sessionManager.focusedUserSession?.username ?? Constants.Strings.unknown
@@ -126,6 +125,11 @@ NewIssueTableViewControllerDelegate {
// MARK: Private API
+ func updateDefaultReaction() {
+ defaultReactionLabel.text = ReactionContent.defaultReaction?.emoji
+ ?? NSLocalizedString("Off", comment: "")
+ }
+
func onReviewAccess() {
guard let url = URL(string: "https://github.com/settings/connections/applications/\(Secrets.GitHub.clientId)")
else { fatalError("Should always create GitHub issue URL") }
@@ -191,7 +195,13 @@ NewIssueTableViewControllerDelegate {
}
func onSetDefaultReaction() {
- //showDefaultReactionMenu()
+ let storyboard = UIStoryboard(name: "Settings", bundle: nil)
+ guard let viewController = storyboard.instantiateViewController(withIdentifier: "DefaultReactionDetailController") as? DefaultReactionDetailController else {
+ fatalError("Cannot instantiate DefaultReactionDetailController instance")
+ }
+ viewController.delegate = self
+ let navController = UINavigationController(rootViewController: viewController)
+ showDetailViewController(navController, sender: self)
}
func onTryTestFlightBeta() {
@@ -288,4 +298,10 @@ NewIssueTableViewControllerDelegate {
let navigation = UINavigationController(rootViewController: issuesViewController)
showDetailViewController(navigation, sender: nil)
}
+
+ // MARK: DefaultReactionDelegate
+
+ func didUpdateDefaultReaction() {
+ updateDefaultReaction()
+ }
}