comparison LazyBear/Views/Company/CompanyView.swift @ 446:9cc0455bc46f

Minor UI updates
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Tue, 22 Jun 2021 19:57:08 +0200
parents 428109b1e3f0
children 8621ba6fd457
comparison
equal deleted inserted replaced
445:7d1c4dc8d1d8 446:9cc0455bc46f
8 import SwiftUI 8 import SwiftUI
9 9
10 struct CompanyView: View { 10 struct CompanyView: View {
11 var symbol: String 11 var symbol: String
12 var name: String 12 var name: String
13
13 @ObservedObject var company = Company() 14 @ObservedObject var company = Company()
15
14 var ranges = ["1D", "5D", "1M", "3M", "6M", "1Y", "5Y"] /// DatePicker ranges 16 var ranges = ["1D", "5D", "1M", "3M", "6M", "1Y", "5Y"] /// DatePicker ranges
15 @State private var selectedRange = "3M" /// Selected DatePicker range 17 @State private var selectedRange = "3M" /// Selected DatePicker range
16 18
17 var body: some View { 19 var body: some View {
18 if company.showView { 20 if company.showView {
21 HStack { 23 HStack {
22 Text(name.capitalized) 24 Text(name.capitalized)
23 .font(.title) 25 .font(.title)
24 .fontWeight(.semibold) 26 .fontWeight(.semibold)
25 .lineLimit(1) 27 .lineLimit(1)
26 28
27 Spacer() 29 Spacer()
28 } 30 }
29 .padding(.horizontal) 31 .padding(.horizontal)
30 32
31 Picker("Select a range", selection: $selectedRange) { 33 Picker("Select a range", selection: $selectedRange) {
32 ForEach(ranges, id: \.self) { 34 ForEach(ranges, id: \.self) {
33 Text($0) 35 Text($0)
34 } 36 }
35 } 37 }
39 let url = "https://api.lazybear.app/company/symbol=\(symbol)/type=refresh/range=\(range.lowercased())" 41 let url = "https://api.lazybear.app/company/symbol=\(symbol)/type=refresh/range=\(range.lowercased())"
40 company.request(url, .refresh) 42 company.request(url, .refresh)
41 }) 43 })
42 44
43 ChartHelper(company: company) 45 ChartHelper(company: company)
44 KeyStatsHelper(keyStats: company.data.keyStats) 46 if let keyStats = company.data.keyStats {
47 KeyStatsHelper(keyStats: keyStats)
48 }
49
45 if let latestNews = company.data.latestNews { 50 if let latestNews = company.data.latestNews {
46 NewsHelper(latestNews: latestNews) 51 NewsHelper(latestNews: latestNews)
47 .padding([.horizontal, .bottom]) 52 .padding([.horizontal, .bottom])
48 } 53 }
49 54