Mercurial > public > lazybear
annotate LazyBear/Views/Global Helpers/StockItem.swift @ 413:2984d8946342
Minor UI changes
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Wed, 09 Jun 2021 10:23:52 +0200 |
parents | 8357b101df67 |
children | 9b7af8e83d12 |
rev | line source |
---|---|
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // StockItem.swift |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 28/3/21. |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
396
bd34e16b01ad
Add StockCharts package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
390
diff
changeset
|
9 import StockCharts |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
11 enum OrientationView { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
12 case horizontal, vertical |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
13 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
14 |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 struct StockItem: View { |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
16 var symbol: String |
346
80bfa88c6b0f
Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
345
diff
changeset
|
17 var company: QuoteModel |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
18 var intradayPrices: [IntradayPriceModel]? |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
19 var orientation: OrientationView |
379
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
20 var hidePriceView: Bool? |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
22 var body: some View { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
23 if orientation == .vertical { |
402
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
24 let verticalRow: AnyView = AnyView( |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
25 NavigationLink(destination: CompanyView(symbol: symbol)) { |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
26 VerticalStockRow(symbol: symbol, company: company, intradayPrices: intradayPrices) |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
27 } |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
28 .buttonStyle(PlainButtonStyle()) |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
29 ) |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
30 return verticalRow |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
31 } else { |
402
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
32 let horizontalRow: AnyView = AnyView( |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
33 NavigationLink(destination: CompanyView(symbol: symbol)) { |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
34 HorizontalStockRow(symbol: symbol, company: company, intradayPrices: intradayPrices, hidePriceView: hidePriceView ?? false) |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
35 } |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
36 ) |
8357b101df67
Implementing CompanyView in NavigationLinks
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
398
diff
changeset
|
37 return horizontalRow |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
38 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
39 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
40 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
41 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
42 struct StockItem_Previews: PreviewProvider { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
43 static var previews: some View { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
44 StockItem( |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
45 symbol: "AAPL", company: QuoteModel(changePercent: 0.03, companyName: "apple inc", latestPrice: 130.3), |
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
46 intradayPrices: [IntradayPriceModel(open: 130.3), IntradayPriceModel(open: 132.3)], orientation: .horizontal |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
47 ) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
48 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
49 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
50 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
51 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
52 struct VerticalStockRow: View { |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
53 var symbol: String |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
54 var company: QuoteModel |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
55 var intradayPrices: [IntradayPriceModel]? |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
56 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
57 var body: some View { |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
58 RoundedRectangle(cornerRadius: 20) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
59 .foregroundColor(Color(.secondarySystemBackground)) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
60 .aspectRatio(0.8, contentMode: .fit) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
61 .clipShape(RoundedRectangle(cornerRadius: 20)) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
62 .overlay( |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
63 VStack(alignment: .leading) { |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
64 Group { |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
65 Text(symbol.uppercased()) |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
66 .fontWeight(.semibold) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
67 .padding(.top) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
68 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
69 Text(company.companyName.capitalized) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
70 .font(.callout) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
71 .fontWeight(.semibold) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
72 .opacity(0.6) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
73 .lineLimit(1) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
74 |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
75 let priceViewStyle = PriceViewStyle( |
413
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
76 horizontalAlignment: .leading, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
77 verticalAlignment: .center, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
78 orientation: .VStack, |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
79 priceFont: .body, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
80 priceFontWeight: .semibold, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
81 percentFont: .callout, |
413
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
82 percentFontWeight: .semibold, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
83 showBackground: false |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
84 ) |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
85 |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
86 PriceView(latestPrice: company.latestPrice ?? 0, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
87 changePercent: company.changePercent ?? 0, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
88 style: priceViewStyle) |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
89 .padding(.top) |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
90 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
91 } |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
92 .padding(.horizontal) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
93 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
94 Spacer() |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
95 |
349
5ccceb527178
Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
346
diff
changeset
|
96 if let prices = intradayPrices?.compactMap { $0.open } { |
396
bd34e16b01ad
Add StockCharts package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
390
diff
changeset
|
97 LineChartView(data: prices, dates: nil, hours: nil, dragGesture: false) |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
98 .padding(.vertical) |
396
bd34e16b01ad
Add StockCharts package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
390
diff
changeset
|
99 .clipShape(RoundedRectangle(cornerRadius: 20)) |
342
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
100 } |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
101 |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
102 } |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
103 ,alignment: .leading |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
104 ) |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
105 } |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
106 } |
a6c49f1409f3
Implementing Watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
107 |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
108 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
109 struct HorizontalStockRow: View { |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
110 var symbol: String |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
111 var company: QuoteModel |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
112 var intradayPrices: [IntradayPriceModel]? |
379
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
113 var hidePriceView: Bool |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
114 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
115 var body: some View { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
116 HStack { |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
117 VStack(alignment: .leading) { |
375
f3cb5bdea8e5
Update Codable requests in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
357
diff
changeset
|
118 Text(symbol.uppercased()) |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
119 .fontWeight(.semibold) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
120 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
121 Text(company.companyName.capitalized) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
122 .font(.callout) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
123 .fontWeight(.semibold) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
124 .opacity(0.6) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
125 .lineLimit(1) |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
126 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
127 |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
128 Spacer() |
379
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
129 if !hidePriceView { |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
130 if let prices = intradayPrices?.compactMap { $0.open } { |
396
bd34e16b01ad
Add StockCharts package
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
390
diff
changeset
|
131 LineChartView(data: prices, dates: nil, hours: nil, dragGesture: false) |
379
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
132 .frame(width: 80) |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
133 .padding(.vertical, 10) |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
134 .padding(.leading) |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
135 } |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
136 |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
137 let priceViewStyle = PriceViewStyle( |
413
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
138 horizontalAlignment: .leading, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
139 verticalAlignment: .center, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
140 orientation: .VStack, |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
141 priceFont: .body, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
142 priceFontWeight: .semibold, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
143 percentFont: .callout, |
413
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
144 percentFontWeight: .semibold, |
2984d8946342
Minor UI changes
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
145 showBackground: false |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
146 ) |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
147 |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
148 PriceView(latestPrice: company.latestPrice ?? 0, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
149 changePercent: company.changePercent ?? 0, |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
396
diff
changeset
|
150 style: priceViewStyle) |
379
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
151 // Center PriceView with the other rows |
a7e2c5a7b4f6
Implement onDelete in watchlists
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
375
diff
changeset
|
152 .frame(minWidth: 80, alignment: .trailing) |
357
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
153 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
154 } |
eb97439e46cd
Implement ExtensiveList in HomeView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
349
diff
changeset
|
155 .padding(5) |
345
fde2b30c719e
Implementing Networking in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
343
diff
changeset
|
156 } |
fde2b30c719e
Implementing Networking in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
343
diff
changeset
|
157 } |