changeset 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 2d7ad67a3e95
children 73d31bcfa0b7
files LazyBear/ContentView.swift LazyBear/LazyBearApp.swift LazyBear/UI/Search.swift LazyBear/UI/Watchlist.swift
diffstat 4 files changed, 17 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/LazyBear/ContentView.swift	Wed Mar 10 21:19:43 2021 +0100
+++ b/LazyBear/ContentView.swift	Fri Mar 12 08:54:13 2021 +0100
@@ -8,8 +8,7 @@
 import SwiftUI
 
 struct ContentView: View {
-    // Start ObservedObjects
-    @ObservedObject var hudManager = HudManager()
+    @EnvironmentObject var hudManager: HudManager
     
     // Fetch user appearence settings
     @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
@@ -19,13 +18,13 @@
         ZStack(alignment: .top) {
             TabView {
                 // First view
-                Watchlist(hudManager: hudManager)
+                Watchlist()
                     .tabItem {
                         Label("Watchlist", systemImage: "list.dash")
                     }
                 
                 // First view
-                Search(hudManager: hudManager)
+                Search()
                     .tabItem {
                         Label("Search", systemImage: "magnifyingglass")
                     }
@@ -37,6 +36,8 @@
                     }
             }
             
+            // Show HUDs
+            // Notification
             Notification(text: "Company saved", image: "checkmark.circle")
                 .offset(y: hudManager.showNotification ? 0 : -100)
                 .animation(.easeInOut)
--- a/LazyBear/LazyBearApp.swift	Wed Mar 10 21:19:43 2021 +0100
+++ b/LazyBear/LazyBearApp.swift	Fri Mar 12 08:54:13 2021 +0100
@@ -10,11 +10,17 @@
 @main
 struct LazyBearApp: App {
     let persistenceController = PersistenceController.shared  // Core Data init
+    
+    // Start ObservedObjects
+    @ObservedObject var hudManager = HudManager()
+    @ObservedObject var companyType = CompanyType()
 
     var body: some Scene {
         WindowGroup {
             ContentView()
                 .environment(\.managedObjectContext, persistenceController.container.viewContext)
+                .environmentObject(hudManager)
+                .environmentObject(companyType)
         }
     }
 }
--- a/LazyBear/UI/Search.swift	Wed Mar 10 21:19:43 2021 +0100
+++ b/LazyBear/UI/Search.swift	Fri Mar 12 08:54:13 2021 +0100
@@ -9,7 +9,7 @@
 import SwiftlySearch
 
 struct Search: View {
-    @ObservedObject var hudManager: HudManager
+    @EnvironmentObject var hudManager: HudManager
     @State private var company = String()
     @State private var companies = [CompanyModel]()
     
@@ -19,7 +19,7 @@
             List(list.indices, id: \.self) { i in
                 let name = list[i].securityName ?? "-"
                 let symbol = list[i].symbol
-                NavigationLink(destination: CompanyView(name: name, symbol: symbol, hudManager: hudManager)
+                NavigationLink(destination: CompanyView(name: name, symbol: symbol)
                                 .navigationTitle(symbol)
                 ) {
                     CompanyRow(symbol: symbol, name: name, rowNumber: i % 5)
@@ -59,6 +59,6 @@
 
 struct Search_Previews: PreviewProvider {
     static var previews: some View {
-        Search(hudManager: HudManager())
+        Search()
     }
 }
--- a/LazyBear/UI/Watchlist.swift	Wed Mar 10 21:19:43 2021 +0100
+++ b/LazyBear/UI/Watchlist.swift	Fri Mar 12 08:54:13 2021 +0100
@@ -9,7 +9,7 @@
 import CoreData
 
 struct Watchlist: View {
-    @ObservedObject var hudManager: HudManager
+    @EnvironmentObject var hudManager: HudManager
     @Environment(\.managedObjectContext) private var moc
     @FetchRequest(entity: Company.entity(), sortDescriptors: []) var companies: FetchedResults<Company>
     
@@ -19,7 +19,7 @@
                 ForEach(companies.indices, id: \.self) { i in
                     let name = companies[i].name
                     let symbol = companies[i].symbol
-                    NavigationLink(destination: CompanyView(name: name, symbol: symbol, hudManager: hudManager)
+                    NavigationLink(destination: CompanyView(name: name, symbol: symbol)
                                     .navigationTitle(symbol)
                     ) {
                         CompanyRow(symbol: symbol, name: name, rowNumber: i % 5)
@@ -51,6 +51,6 @@
 
 struct Watchlist_Previews: PreviewProvider {
     static var previews: some View {
-        Watchlist(hudManager: HudManager())
+        Watchlist()
     }
 }