yattee/Model/Applications/VideosApp.swift

77 lines
1.3 KiB
Swift
Raw Normal View History

2021-10-20 22:21:50 +00:00
import Foundation
enum VideosApp: String, CaseIterable {
2022-12-09 00:15:19 +00:00
case local
case invidious
case piped
case peerTube
2021-10-20 22:21:50 +00:00
var name: String {
rawValue.capitalized
}
var supportsAccounts: Bool {
2022-12-09 00:15:19 +00:00
self != .local
}
2021-10-20 22:21:50 +00:00
var supportsPopular: Bool {
self == .invidious
}
var supportsSearchFilters: Bool {
self == .invidious
}
2022-12-09 00:15:19 +00:00
var supportsSearchSuggestions: Bool {
self != .peerTube
}
2021-10-20 22:21:50 +00:00
var supportsSubscriptions: Bool {
supportsAccounts
}
var supportsTrendingCategories: Bool {
self == .invidious
}
var supportsUserPlaylists: Bool {
2022-12-09 00:15:19 +00:00
self != .local
}
var userPlaylistsEndpointIncludesVideos: Bool {
2021-10-20 22:21:50 +00:00
self == .invidious
}
2021-10-27 21:11:38 +00:00
var userPlaylistsUseChannelPlaylistEndpoint: Bool {
self == .piped
}
var userPlaylistsHaveVisibility: Bool {
self == .invidious
}
var userPlaylistsAreEditable: Bool {
self == .invidious
}
2021-10-27 21:11:38 +00:00
var hasFrontendURL: Bool {
self == .piped
}
2021-12-04 19:35:41 +00:00
var searchUsesIndexedPages: Bool {
self == .invidious
}
2022-06-24 22:48:57 +00:00
var supportsOpeningChannelsByName: Bool {
self == .piped
}
var allowsDisablingVidoesProxying: Bool {
self == .invidious
}
2022-11-10 17:11:28 +00:00
var supportsOpeningVideosByID: Bool {
2022-12-09 00:15:19 +00:00
self != .local
2022-11-10 17:11:28 +00:00
}
2021-10-20 22:21:50 +00:00
}