Mercurial > public > lazybear
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() } }