import Foundation enum CollectionPickerOption: Identifiable, Hashable { case all case folder(UUID) case topLevel(String) case uncategorized var id: String { switch self { case .all: return "all" case .folder(let id): return id.uuidString case .topLevel(let name): return name case .uncategorized: return "uncategorized" } } var name: (_ settings: SettingsManager) -> String { switch self { case .all: return { _ in "All" } case .folder(let id): return { settings in settings.folderName(forID: id) ?? "Unknown Folder" } case .topLevel(let name): return { _ in name } case .uncategorized: return { _ in "Uncategorised" } } } }