annotate LazyBear/ContentView.swift @ 244:724916624385

Implement Insider View
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sun, 07 Mar 2021 11:25:42 +0100
parents 47d61727054a
children 35be981ccb31
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 {
244
724916624385 Implement Insider View
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 193
diff changeset
11 // Start ObservedObjects
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
12 @ObservedObject var hudManager = HUDManager()
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
13
244
724916624385 Implement Insider View
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 193
diff changeset
14 // 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
15 @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
16 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
17
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
18 var body: some View {
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
19 ZStack(alignment: .top) {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
20 TabView {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
21 // First view
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
22 Watchlist(hudManager: hudManager)
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
23 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
24 Label("Watchlist", systemImage: "list.dash")
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
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
27 // First view
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
28 Search(hudManager: hudManager)
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
29 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
30 Label("Search", systemImage: "magnifyingglass")
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
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
33 // First view
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
34 Settings()
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
35 .tabItem {
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
36 Label("Settings", systemImage: "gear")
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
37 }
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
38 }
165
125d268db489 Update UI
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 164
diff changeset
39
178
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
40 HUD(text: hudManager.text, image: hudManager.image)
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
41 .offset(y: hudManager.isShowing ? 0 : -100)
c1aa75608c27 Implement HUD
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 165
diff changeset
42 .animation(.easeInOut)
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
43 }
193
47d61727054a Fix crash when nil UserSettings
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 181
diff changeset
44 .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
45 // 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
46 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
47 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
48
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
49
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
50 struct ContentView_Previews: PreviewProvider {
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
51 static var previews: some View {
165
125d268db489 Update UI
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 164
diff changeset
52 ContentView()
163
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
53 }
9d519f230f26 Start clean project
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
54 }