jellyflood/Shared/Extensions/JellyfinAPI/BaseItemKind.swift
Joe Kribs a3dab2e165
[iOS & tvOS] Cleanup Permission Validation (#1499)
* Move permissions to centralized spot

* Move `identifiableTypes` to `BaseItemKind`. Use `showEditMenu`

* Cleanup showMenu options for iOS and tvOS. Metadata allows Subtitle, Lyrics, and Collection edits as well.

* Comment out Lyrics and Subtitles with a TODO for when they are available.

* Update BaseItemKind.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Review Revisions

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-24 12:06:18 -04:00

39 lines
966 B
Swift

//
// Swiftfin is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
//
// Copyright (c) 2025 Jellyfin & Jellyfin Contributors
//
import JellyfinAPI
extension BaseItemKind: SupportedCaseIterable {
/// The base supported cases for media navigation.
/// This differs from media viewing, which may include
/// `.episode`.
///
/// These is the *base* supported cases and other objects
/// like `LibararyParent` may have additional supported
/// cases for querying a library.
static var supportedCases: [BaseItemKind] {
[.movie, .series, .boxSet]
}
}
extension BaseItemKind: ItemFilter {
// TODO: localize
var displayTitle: String {
rawValue
}
}
extension BaseItemKind {
static var itemIdentifiableCases: [BaseItemKind] {
[.boxSet, .movie, .person, .series]
}
}