-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathContentView.swift
84 lines (69 loc) · 2.04 KB
/
ContentView.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//
// ContentView.swift
// Flips
//
// Created by Jordan Foster on 3/17/21.
//
import SwiftUI
import CoreData
struct ContentView: View {
@State private var selection = 1
@State var model: FlipsModel
var body: some View {
CoreDataView(selection: selection, model: $model)
}
}
struct CoreDataView: View {
@State var selection = 1
@Binding var model: FlipsModel
@Environment(\.managedObjectContext) var context
@FetchRequest(
entity: UserEntity.entity(),
sortDescriptors: [],
predicate: NSPredicate(format: "username == %@", UserDefaults.standard.string(forKey: "username")!)
) var user: FetchedResults<UserEntity>
@FetchRequest(
entity: FlipEntity.entity(),
sortDescriptors: [
NSSortDescriptor(keyPath: \FlipEntity.timestamp, ascending: true),
]) var flips: FetchedResults<FlipEntity>
@FetchRequest(
entity: RatingEntity.entity(),
sortDescriptors: []) var ratings: FetchedResults<RatingEntity>
@FetchRequest(entity: FeedbackEntity.entity(),
sortDescriptors: []) var feedbacks: FetchedResults<FeedbackEntity>
init(selection: Int, model: Binding<FlipsModel>) {
_model = model
self.selection = selection
}
var body: some View {
TabView(selection: $selection) {
HomeView(flips: flips.map{ $0 })
.tabItem { Image(systemName: "house") }
.tag(1)
.preferredColorScheme(.dark)
FlipsView(flips: flips.map{ $0 })
.tabItem { Image(systemName: "bandage") }
.tag(2)
.preferredColorScheme(.dark)
CreateFlipView(user: user.first!)
.tabItem { Image(systemName: "plus.circle.fill") }
.tag(3)
.preferredColorScheme(.dark)
ProfileView(user: user.first!)
.tabItem { Image(systemName: "person.crop.circle") }
.tag(4)
.preferredColorScheme(.dark)
ContactUsView()
.tabItem { Image(systemName: "questionmark.circle") }
.tag(5)
.preferredColorScheme(.dark)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(model: FlipsDataModel.designModel)
.preferredColorScheme(.dark)
}
}