Mercurial > public > lazybear
annotate LazyBear/Views/Company/Helpers/TransactionList.swift @ 430:c78d5b5b3bda
Minor updates
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sat, 19 Jun 2021 16:21:26 +0200 |
parents | 5f21f7c23c5e |
children |
rev | line source |
---|---|
411
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // TransactionList.swift |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 7/6/21. |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 struct TransactionList: View { |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
11 var transactions: [InsiderTransactionModel] |
417
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
12 |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
13 @State private var showFullList = false |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
14 |
411
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 var body: some View { |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
16 VStack(alignment: .leading) { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
17 HStack { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
18 Text("Latest transactions") |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
19 .font(.title3) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
20 .fontWeight(.semibold) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
21 |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
22 Spacer() |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
23 Button("See all", action: { showFullList = true }) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
24 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
25 |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
26 VStack(alignment: .leading, spacing: 20) { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
27 ForEach(transactions.prefix(3), id: \.self) { transaction in |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
28 TransactionRow(transaction: transaction) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
29 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
30 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
31 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
32 .sheet(isPresented: $showFullList) { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
33 TransactionFullList(transactions: transactions) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
34 } |
411
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
35 } |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
36 } |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
37 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
38 struct TransactionList_Previews: PreviewProvider { |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
39 static var previews: some View { |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
40 TransactionList(transactions: |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
41 [ |
417
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
42 InsiderTransactionModel( |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
43 filingDate: "2020-01-01", |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
44 fullName: "Dennis Concepcion", |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
45 postShares: 1234, |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
46 reportedTitle: "Director", |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
47 transactionCode: "S", |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
48 transactionPrice: 20.08, |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
49 transactionShares: 12345, |
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
50 transactionValue: 1234567.0 |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
51 ) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
52 ] |
417
5f21f7c23c5e
Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
412
diff
changeset
|
53 ) |
411
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
54 } |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
55 } |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
56 |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
57 struct TransactionFullList: View { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
58 var transactions: [InsiderTransactionModel] |
430
c78d5b5b3bda
Minor updates
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
417
diff
changeset
|
59 @Environment(\.presentationMode) private var transactionFullListPresentation |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
60 |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
61 var body: some View { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
62 NavigationView { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
63 ScrollView { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
64 VStack(alignment: .leading, spacing: 20) { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
65 ForEach(transactions, id: \.self) { transaction in |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
66 TransactionRow(transaction: transaction) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
67 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
68 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
69 .padding() |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
70 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
71 .navigationTitle("Latest transactions") |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
72 .navigationBarTitleDisplayMode(.inline) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
73 .toolbar { |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
74 ToolbarItem(placement: .navigationBarLeading) { |
430
c78d5b5b3bda
Minor updates
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
417
diff
changeset
|
75 Button(action: { transactionFullListPresentation.wrappedValue.dismiss() }) { |
412
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
76 Image(systemName: "multiply") |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
77 .imageScale(.large) |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
78 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
79 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
80 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
81 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
82 } |
a7c9dd0c5822
Main insider view implemented
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
411
diff
changeset
|
83 } |