// // HashtagTimelineViewController.swift // Tusker // // Created by Shadowfacts on 12/19/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import UIKit import Pachyderm class HashtagTimelineViewController: TimelineTableViewController { let hashtag: Hashtag var toggleSaveButton: UIBarButtonItem! var toggleSaveButtonTitle: String { if SavedDataManager.shared.isSaved(hashtag: hashtag, for: mastodonController.accountInfo!) { return NSLocalizedString("Unsave", comment: "unsave hashtag button") } else { return NSLocalizedString("Save", comment: "save hashtag button") } } init(for hashtag: Hashtag, mastodonController: MastodonController) { self.hashtag = hashtag super.init(for: .tag(hashtag: hashtag.name), mastodonController: mastodonController) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() toggleSaveButton = UIBarButtonItem(title: toggleSaveButtonTitle, style: .plain, target: self, action: #selector(toggleSaveButtonPressed)) navigationItem.rightBarButtonItem = toggleSaveButton NotificationCenter.default.addObserver(self, selector: #selector(savedHashtagsChanged), name: .savedHashtagsChanged, object: nil) } @objc func savedHashtagsChanged() { toggleSaveButton.title = toggleSaveButtonTitle } // MARK: - Interaction @objc func toggleSaveButtonPressed() { if SavedDataManager.shared.isSaved(hashtag: hashtag, for: mastodonController.accountInfo!) { SavedDataManager.shared.remove(hashtag: hashtag, for: mastodonController.accountInfo!) } else { SavedDataManager.shared.add(hashtag: hashtag, for: mastodonController.accountInfo!) } } }