Tusker/Tusker/Shortcuts/UserActivityType.swift

38 lines
1.2 KiB
Swift

//
// UserActivityType.swift
// Tusker
//
// Created by Shadowfacts on 10/19/18.
// Copyright © 2018 Shadowfacts. All rights reserved.
//
import Foundation
enum UserActivityType: String {
case newPost = "net.shadowfacts.Tusker.activity.new-post"
case checkNotifications = "net.shadowfacts.Tusker.activity.check-notifications"
case checkMentions = "net.shadowfacts.Tusker.activity.check-mentions"
case showTimeline = "net.shadowfacts.Tusker.activity.show-timeline"
case search = "net.shadowfacts.Tusker.activity.search"
case bookmarks = "net.shadowfacts.Tusker.activity.bookmarks"
}
extension UserActivityType {
var handle: (NSUserActivity) -> Void {
switch self {
case .newPost:
return UserActivityManager.handleNewPost
case .checkNotifications:
return UserActivityManager.handleCheckNotifications
case .checkMentions:
return UserActivityManager.handleCheckMentions
case .showTimeline:
return UserActivityManager.handleShowTimeline
case .search:
return UserActivityManager.handleSearch
case .bookmarks:
return UserActivityManager.handleBookmarks
}
}
}