Mercurial > public > lazybear
view lazybear/Supply views/WatchlistRow.swift @ 88:2704750d35a0
CloudKit implemented for logo api
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Wed, 27 Jan 2021 21:42:55 +0100 |
parents | 104b643a8807 |
children | 76b4a3be4d46 |
line wrap: on
line source
// // WatchlistRow.swift // LazyBear // // Created by Dennis Concepción Martín on 25/1/21. // import SwiftUI import CoreData import SDWebImageSwiftUI struct WatchlistRow: View { @ObservedObject var companyView = CompanyView() var company: WatchlistCompany var url: String var body: some View { Button(action: { companyView.isShowing.toggle() }) { HStack { let path = LogoApi.URL.company(symbol: company.symbol!).path let endpoint = url + path WebImage(url: URL(string: endpoint)) .resizable() .placeholder { Rectangle().foregroundColor(.gray) } .indicator(.activity) // Activity Indicator .modifier(LogoModifier()) VStack(alignment: .leading) { Text(company.symbol!.uppercased()) .fontWeight(.semibold) Text(company.name!.capitalized) .font(.caption) } } } } } struct WatchlistRow_Previews: PreviewProvider { // Avoid preview crashing static let moc = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType) static var previews: some View { let watchlistCompany = WatchlistCompany(context: moc) watchlistCompany.name = "apple inc" watchlistCompany.symbol = "aapl" return WatchlistRow(company: watchlistCompany, url: "") } }