Mercurial > public > lazybear
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 |