Mercurial > public > lazybear
annotate LazyBear/Views/Company/CompanyView.swift @ 439:aa1f4b614b2b
Implementing CompanyView
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Sun, 20 Jun 2021 14:31:39 +0200 |
parents | 7f2a24a774eb |
children | 01fa77358b82 |
rev | line source |
---|---|
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // CompanyView.swift |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
434
277197ce1416
Delete CompanyView and Helpers
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
417
diff
changeset
|
5 // Created by Dennis Concepción Martín on 20/6/21. |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 struct CompanyView: View { |
439
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
11 var symbol: String |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
12 var name: String |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
13 |
438
7f2a24a774eb
Implement CompanyView networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
434
diff
changeset
|
14 @ObservedObject var company = Company() |
7f2a24a774eb
Implement CompanyView networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
434
diff
changeset
|
15 |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 var body: some View { |
439
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
17 if company.showView { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
18 NavigationView { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
19 ScrollView { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
20 VStack { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
21 HStack { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
22 Text(name.capitalized) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
23 .font(.title) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
24 .fontWeight(.semibold) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
25 .lineLimit(1) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
26 |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
27 Spacer() |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
28 } |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
29 .padding(.horizontal) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
30 |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
31 ChartHelper(quote: company.data.quote, historicalPrices: company.data.historicalPrices) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
32 KeyStatsHelper(keyStats: company.data.keyStats) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
33 } |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
34 } |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
35 .background(Color(.systemGray6).edgesIgnoringSafeArea(.all)) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
36 .navigationTitle(symbol.uppercased()) |
438
7f2a24a774eb
Implement CompanyView networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
434
diff
changeset
|
37 } |
439
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
38 } else { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
39 ProgressView() |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
40 .onAppear { |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
41 company.request("https://api.lazybear.app/company/symbol=aapl", .initial) |
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
42 } |
438
7f2a24a774eb
Implement CompanyView networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
434
diff
changeset
|
43 } |
407
c804ce7a1560
Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
402
diff
changeset
|
44 } |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
45 } |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
46 |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
47 struct CompanyView_Previews: PreviewProvider { |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
48 static var previews: some View { |
439
aa1f4b614b2b
Implementing CompanyView
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
438
diff
changeset
|
49 CompanyView(symbol: "aapl", name: "apple inc") |
398
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
50 } |
933546fa5651
Implementing CompanyView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
51 } |