mirror of
https://github.com/yattee/yattee.git
synced 2026-02-20 01:39:46 +00:00
Yattee v2 rewrite
This commit is contained in:
49
Yattee/Models/MediaSources/MediaBrowserSortOrder.swift
Normal file
49
Yattee/Models/MediaSources/MediaBrowserSortOrder.swift
Normal file
@@ -0,0 +1,49 @@
|
||||
//
|
||||
// MediaBrowserSortOrder.swift
|
||||
// Yattee
|
||||
//
|
||||
// Sort order options for media browser file listing.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
enum MediaBrowserSortOrder: String, CaseIterable, Identifiable {
|
||||
case name
|
||||
case dateModified
|
||||
case dateCreated
|
||||
|
||||
var id: String { rawValue }
|
||||
|
||||
var displayName: String {
|
||||
switch self {
|
||||
case .name:
|
||||
String(localized: "mediaBrowser.sort.name")
|
||||
case .dateModified:
|
||||
String(localized: "mediaBrowser.sort.dateModified")
|
||||
case .dateCreated:
|
||||
String(localized: "mediaBrowser.sort.dateCreated")
|
||||
}
|
||||
}
|
||||
|
||||
var systemImage: String {
|
||||
switch self {
|
||||
case .name:
|
||||
"textformat"
|
||||
case .dateModified:
|
||||
"clock"
|
||||
case .dateCreated:
|
||||
"calendar"
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns available sort options for a given source type.
|
||||
/// WebDAV and SMB sources don't support creation date, so it's excluded.
|
||||
static func availableOptions(for sourceType: MediaSourceType) -> [MediaBrowserSortOrder] {
|
||||
switch sourceType {
|
||||
case .localFolder:
|
||||
allCases
|
||||
case .webdav, .smb:
|
||||
[.name, .dateModified]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user