development
swift 51 lines 1.19 KB
Raw
1 import Foundation
2
3 struct GuideEntry: Identifiable, Codable, Hashable {
4 enum Kind: String, Codable, CaseIterable {
5 case dish
6 case ingredient
7 case tradition
8
9 var displayTitle: String {
10 switch self {
11 case .dish:
12 return "Dish"
13 case .ingredient:
14 return "Ingredient"
15 case .tradition:
16 return "Tradition"
17 }
18 }
19
20 var symbolName: String {
21 switch self {
22 case .dish:
23 return "fork.knife"
24 case .ingredient:
25 return "leaf"
26 case .tradition:
27 return "sparkles"
28 }
29 }
30 }
31
32 let id: String
33 let kind: Kind
34 let title: String
35 let subtitle: String
36 let summary: String
37 let story: String
38 let tasteNotes: [String]
39 let highlights: [String]
40 let region: String?
41 let aliases: [String]
42 let tags: [String]
43 let relatedIDs: [String]
44 let suggestedQuestions: [String]
45 let imageName: String?
46 let isFeatured: Bool
47
48 var searchTokens: [String] {
49 [title, subtitle, summary] + aliases + tags + tasteNotes
50 }
51 }