Mercurial > public > lazybear
view LazyBear/Views/Company/Helpers/StatsView.swift @ 415:34f9e408b861
Minor UI Updates and tests
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Wed, 09 Jun 2021 12:49:17 +0200 |
parents | |
children | 1662a41e2c1a |
line wrap: on
line source
// // StatsView.swift // LazyBear // // Created by Dennis Concepción Martín on 9/6/21. // import SwiftUI struct StatsView: View { var keyStats: KeyStatsModel @Environment(\.presentationMode) private var presentationStatsView var body: some View { NavigationView { Form { let mirror = Mirror(reflecting: keyStats) ForEach(Array(mirror.children), id: \.label) { child in HStack { let label = String(child.label!) Text("\(label)".capitalized) .fontWeight(.semibold) // Unwrap optional value if let doubleValue = child.value as? Double { Text("\(doubleValue)") } else if let intValue = child.value as? Int { Text("\(intValue)") } else if let stringValue = child.value as? String { Text("\(stringValue)") } else { Text("NaN") } } } } .navigationTitle("Key statistics") .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button(action: { presentationStatsView.wrappedValue.dismiss() }) { Image(systemName: "multiply") .imageScale(.large) } } } } } } struct StatsView_Previews: PreviewProvider { static var previews: some View { StatsView(keyStats: KeyStatsModel(avg10Volume: 123, avg30Volume: 123, beta: 123.12, companyName: "Apple inc", day200MovingAvg: 123.4, day30ChangePercent: 123.4, day50MovingAvg: 123.4, day5ChangePercent: 123.4, dividendYield: 123.4, employees: 123, exDividendDate: "2020-01-01", float: 123, marketcap: 123, maxChangePercent: 123.4, month1ChangePercent: 123.4, month3ChangePercent: 123.4, month6ChangePercent: 123.4, nextDividendDate: "2020-01-01", nextEarningsDate: "2020-01-01", peRatio: 123.4, sharesOutstanding: 123, ttmDividendRate: 123.4, ttmEPS: 123.4, week52Change: 123.4, week52High: 123.4, week52HighSplitAdjustOnly: 123.4, week52Low: 123.4, week52LowSplitAdjustOnly: 123.4, year1ChangePercent: 123.4, year2ChangePercent: 123.4, year5ChangePercent: 123.4, ytdChangePercent: 123.4 ) ) } }