Mercurial > public > lazybear
annotate LazyBear/Views/Home/Helpers/StockSheet.swift @ 424:6dd97877f575
Improve code, reorganize files
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sun, 13 Jun 2021 19:40:42 +0200 |
parents | |
children | 4effac4733b0 |
rev | line source |
---|---|
424
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // StockSheet.swift |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 13/6/21. |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 struct StockSheet: View { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 var listName: String |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 var companies: [String: QuoteModel] |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 var intradayPrices: [String: [Double]]? |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 @Environment(\.presentationMode) private var stockSheetPresentation |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
17 var body: some View { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
18 NavigationView { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 VStack { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
20 List(Array(companies.keys.sorted()), id: \.self) { symbol in |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 NavigationLink(destination: CompanyView(symbol: symbol)) { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
22 StockSheetRow(symbol: symbol, company: companies[symbol]!, intradayPrices: intradayPrices![symbol]!) |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
23 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
24 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
25 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 .navigationTitle(listName) |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 .navigationBarTitleDisplayMode(.inline) |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
28 .toolbar { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
29 ToolbarItem(placement: .navigationBarLeading) { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
30 Button(action: {stockSheetPresentation.wrappedValue.dismiss()}) { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
31 Image(systemName: "multiply") |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
32 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
33 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
34 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
35 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
36 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
37 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
38 |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
39 struct StockSheet_Previews: PreviewProvider { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
40 static var previews: some View { |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
41 StockSheet(listName: "Most active", companies: ["aapl": QuoteModel(changePercent: 0.03, companyName: "Apple Inc", latestPrice: 120.3)]) |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
42 } |
6dd97877f575
Improve code, reorganize files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
43 } |