annotate LazyBear/ContentView.swift @ 248:1c4da42d6b88

Change vars to EnvironmentObject
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Fri, 12 Mar 2021 08:54:13 +0100
parents 35be981ccb31
children 8fec23e8f7c3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // ContentView.swift
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 17/2/21.
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
9
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
10 struct ContentView: View {
248
1c4da42d6b88 Change vars to EnvironmentObject
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 246
diff changeset
11 @EnvironmentObject var hudManager: HudManager
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
12
244
724916624385 Implement Insider View
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 193
diff changeset
13 // Fetch user appearence settings
181
9533f6a60531 User can change theme color
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 178
diff changeset
14 @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
9533f6a60531 User can change theme color
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 178
diff changeset
15 var userSettings: FetchedResults<UserSettings>
9533f6a60531 User can change theme color
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 178
diff changeset
16
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
17 var body: some View {
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
18 ZStack(alignment: .top) {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
19 TabView {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
20 // First view
248
1c4da42d6b88 Change vars to EnvironmentObject
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 246
diff changeset
21 Watchlist()
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
22 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
23 Label("Watchlist", systemImage: "list.dash")
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
24 }
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
25
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
26 // First view
248
1c4da42d6b88 Change vars to EnvironmentObject
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 246
diff changeset
27 Search()
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
28 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
29 Label("Search", systemImage: "magnifyingglass")
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
30 }
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
31
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
32 // First view
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
33 Settings()
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
34 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
35 Label("Settings", systemImage: "gear")
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
36 }
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
37 }
165
125d268db489 Update UI
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 164
diff changeset
38
248
1c4da42d6b88 Change vars to EnvironmentObject
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 246
diff changeset
39 // Show HUDs
1c4da42d6b88 Change vars to EnvironmentObject
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 246
diff changeset
40 // Notification
246
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
41 Notification(text: "Company saved", image: "checkmark.circle")
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
42 .offset(y: hudManager.showNotification ? 0 : -100)
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
43 .animation(.easeInOut)
246
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
44
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
45 // Action sheet
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
46 ZStack(alignment: .bottom) {
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
47 Color(.gray)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
48 .edgesIgnoringSafeArea(.all)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
49 .opacity(hudManager.showAction ? 0.2: 0)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
50 .animation(.easeInOut)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
51 .onTapGesture { hudManager.showAction = false }
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
52
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
53 ActionView()
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
54 .offset(y: hudManager.showAction ? 0 : 250)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
55 .animation(.easeInOut)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
56 .padding(.horizontal)
35be981ccb31 Implementing CustomAction view
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 244
diff changeset
57 }
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
58 }
193
47d61727054a Fix crash when nil UserSettings
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 181
diff changeset
59 .accentColor(Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent"))
47d61727054a Fix crash when nil UserSettings
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 181
diff changeset
60 // If this value is not optional it will cause a crash
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
61 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
62 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
63
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
64
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
65 struct ContentView_Previews: PreviewProvider {
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
66 static var previews: some View {
165
125d268db489 Update UI
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 164
diff changeset
67 ContentView()
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
68 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
69 }