# HG changeset patch # User Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> # Date 1615535653 -3600 # Node ID 1c4da42d6b88b07c0e8da2c3ad035c626e7eb5d7 # Parent 2d7ad67a3e95b4a53ec8725e9e86a03cfec5e819 Change vars to EnvironmentObject diff -r 2d7ad67a3e95 -r 1c4da42d6b88 LazyBear/ContentView.swift --- 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) diff -r 2d7ad67a3e95 -r 1c4da42d6b88 LazyBear/LazyBearApp.swift --- 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) } } } diff -r 2d7ad67a3e95 -r 1c4da42d6b88 LazyBear/UI/Search.swift --- 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() } } diff -r 2d7ad67a3e95 -r 1c4da42d6b88 LazyBear/UI/Watchlist.swift --- 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 @@ -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() } }