// // SettingsTableViewController.swift // elpha-ios // // Created by Dwayne Harris on 11/12/18. // Copyright © 2018 Elpha. All rights reserved. // import Kingfisher import UIKit class SettingsTableViewController: UITableViewController { @IBOutlet var headerImageView: UIImageView! @IBOutlet var avatarImageView: UIImageView! @IBOutlet var displayNameLabel: UILabel! @IBOutlet var usernameLabel: UILabel! @IBOutlet var gifSwitch: UISwitch! @IBOutlet var refreshTimelinesSwitch: UISwitch! override func viewDidLoad() { super.viewDidLoad() navigationItem.title = "Settings" avatarImageView.setShadow() avatarImageView.setRoundedCorners() if let account = AuthenticationManager.session?.account { let options: KingfisherOptionsInfo = SettingsManager.automaticallyPlayGIFs ? [] : [.onlyLoadFirstFrame] headerImageView.kf.setImage(with: account.headerURL!) avatarImageView.kf.setImage(with: account.avatarURL!, options: options) displayNameLabel.text = account.displayName usernameLabel.text = "@\(account.acct!)" } gifSwitch.isOn = SettingsManager.automaticallyPlayGIFs refreshTimelinesSwitch.isOn = SettingsManager.automaticallyRefreshTimelines } override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { switch indexPath.row { case 2: let storyboard = UIStoryboard(name: "Main", bundle: nil) if let controller = storyboard.instantiateViewController(withIdentifier: "InstancesNavigationController") as? InstancesNavigationController { self.parent?.present(controller, animated: true) } case 3: unauthenticate() default: return } } @IBAction func gifChanged(_ sender: Any) { SettingsManager.automaticallyPlayGIFs = gifSwitch.isOn } @IBAction func refreshTimelinesChanged(_ sender: Any) { SettingsManager.automaticallyRefreshTimelines = refreshTimelinesSwitch.isOn } func unauthenticate() { AuthenticationManager.deleteSelectedSession() NotificationCenter.default.post(name: .didUnauthenticate, object: nil) self.dismiss(animated: true) } }