annotate LazyBear/Views/Company/Insiders.swift @ 412:a7c9dd0c5822

Main insider view implemented
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Tue, 08 Jun 2021 11:46:58 +0200
parents 681fb377235e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // Insiders.swift
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 23/5/21.
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
9
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
10 struct Insiders: View {
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
11 @ObservedObject var company: Company
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
12 var symbol: String
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
13
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
14 var body: some View {
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
15 if company.showInsidersView {
412
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
16 VStack {
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
17 if let insiderSummary = company.insidersData.insiderRoster {
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
18 InsiderList(insiderSummary: insiderSummary)
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
19 .padding(.bottom)
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
20 }
407
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
21
412
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
22 if let transactions = company.insidersData.insiderTransactions {
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
23 TransactionList(transactions: transactions)
a7c9dd0c5822 Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
24 }
407
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
25 }
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
26 } else {
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
27 ProgressView()
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
28 .onAppear {
407
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
29 let url = "https://api.lazybear.app/company/insiders/symbol=\(symbol)"
c804ce7a1560 Implementing Insider networking
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 403
diff changeset
30 company.request(url, .initial, "insider")
403
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
31 }
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
32 }
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
33 }
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
34 }
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
35
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
36 struct Insiders_Previews: PreviewProvider {
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
37 static var previews: some View {
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
38 Insiders(company: Company(), symbol: "aapl")
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
39 }
48b3d2a410d4 Implementing Insiders.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
40 }