Tusker/Tusker/Activities/Status Activities/PinStatusActivity.swift

37 lines
982 B
Swift

//
// PinStatusActivity.swift
// Tusker
//
// Created by Shadowfacts on 1/4/20.
// Copyright © 2020 Shadowfacts. All rights reserved.
//
import UIKit
import Pachyderm
class PinStatusActivity: StatusActivity {
override var activityType: UIActivity.ActivityType? {
return .pinStatus
}
override var activityTitle: String? {
return NSLocalizedString("Pin", comment: "pin status activity title")
}
override var activityImage: UIImage? {
return UIImage(systemName: "pin")
}
override func perform() {
guard let status = status else { return }
let request = Status.pin(status)
mastodonController.run(request).then { (status, _) -> Void in
self.mastodonController.cache.add(status: status)
}.catch { (error) -> Void in
print("could not pin status: \(error)")
UINotificationFeedbackGenerator().notificationOccurred(.error)
}
}
}