annotate LazyBear/Views/Company/Helpers/InsiderTransactionsHelper.swift @ 444:428109b1e3f0

InsiderTransactions implemented
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Tue, 22 Jun 2021 16:54:21 +0200
parents
children 7d1c4dc8d1d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
444
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // InsiderTransactionsHelper.swift
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // LazyBear
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 22/6/21.
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import SwiftUI
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 struct InsiderTransactionsHelper: View {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 var insiderTransactions: [InsiderTransactionModel]
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 @State private var showList = false
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 var body: some View {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 VStack(alignment: .leading) {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 HStack {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 Text("Insider Transactions")
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 .font(.title)
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 .fontWeight(.semibold)
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 Spacer()
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 Button("See all", action: { showList = true } )
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 .padding(.bottom)
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 ForEach(insiderTransactions.prefix(4), id: \.self) { insiderTransaction in
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 InsiderTransactionsRow(insiderTransaction: insiderTransaction)
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 Divider()
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 .padding()
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 .background(
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 CustomRectangleBox()
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 )
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 .sheet(isPresented: $showList) {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
36 InsiderTransactionsList(insiderTransactions: insiderTransactions)
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
37 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
38 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
39 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
40
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
41 struct InsiderTransactionsHelper_Previews: PreviewProvider {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
42 static var previews: some View {
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
43 InsiderTransactionsHelper(
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
44 insiderTransactions:
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
45 [
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
46 InsiderTransactionModel(
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
47 filingDate: "2020-01-01",
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
48 fullName: "Dennis Concepcion",
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
49 postShares: 1234,
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
50 reportedTitle: "Director",
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
51 transactionCode: "S",
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 transactionPrice: 20.08,
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
53 transactionShares: 12345,
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
54 transactionValue: 1234567.0
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
55 )
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
56 ]
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
57 )
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
58 }
428109b1e3f0 InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
59 }