Mercurial > public > lazybear
view LazyBear/UI/CompanyView.swift @ 176:8ed956c01a54
Update UI
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sat, 20 Feb 2021 19:29:31 +0100 |
parents | 125d268db489 |
children | c1aa75608c27 |
line wrap: on
line source
// // CompanyView.swift // LazyBear // // Created by Dennis Concepción Martín on 19/2/21. // import SwiftUI struct CompanyView: View { @FetchRequest(entity: Company.entity(), sortDescriptors: []) var companies: FetchedResults<Company> @Environment(\.managedObjectContext) private var moc var name: String var symbol: String var body: some View { ScrollView { PriceView(symbol: symbol) NewsView(symbol: symbol) } .toolbar { ToolbarItem(placement: .principal) { Text("Change view") } ToolbarItem(placement: .navigationBarTrailing) { let symbols = companies.map { $0.symbol } if !symbols.contains(symbol) { Button(action: { add() }) { Image(systemName: "star") .imageScale(.large) } } } } } // Add to watchlist private func add() { let company = Company(context: moc) company.symbol = symbol company.name = name do { try moc.save() print("Company saved.") } catch { print(error.localizedDescription) } } } struct CompanyView_Previews: PreviewProvider { static var previews: some View { NavigationView { CompanyView(name: "apple inc", symbol: "aapl") } .navigationViewStyle(StackNavigationViewStyle()) } }