2022-11-13 22:36:46 +00:00
|
|
|
import Defaults
|
2022-11-13 17:52:15 +00:00
|
|
|
import Foundation
|
|
|
|
|
|
|
|
struct VideoDetailsTool: Identifiable {
|
|
|
|
var id: String {
|
|
|
|
page.rawValue
|
|
|
|
}
|
|
|
|
|
|
|
|
var icon: String
|
|
|
|
var name: String
|
|
|
|
var toolPostion: CGRect = .zero
|
|
|
|
var page = VideoDetails.DetailsPage.info
|
|
|
|
|
|
|
|
func isAvailable(for video: Video?, sidebarQueue: Bool) -> Bool {
|
|
|
|
guard !YatteeApp.isForPreviews else {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
switch page {
|
|
|
|
case .info:
|
|
|
|
return video != nil && !video!.isLocal
|
|
|
|
case .inspector:
|
2022-11-13 22:36:46 +00:00
|
|
|
return video == nil || Defaults[.showInspector] == .always || video!.isLocal
|
2022-11-13 17:52:15 +00:00
|
|
|
case .chapters:
|
|
|
|
return video != nil && !video!.chapters.isEmpty
|
|
|
|
case .comments:
|
|
|
|
return video != nil && !video!.isLocal
|
|
|
|
case .related:
|
|
|
|
return !sidebarQueue && video != nil && !video!.isLocal
|
|
|
|
case .queue:
|
|
|
|
return !sidebarQueue
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|