Mercurial > public > lazybear
annotate LazyBear/Views/Company/Helpers/InsiderTransactionsRow.swift @ 457:c6913f0ce46e
Minor UI Updates
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 28 Jun 2021 14:03:50 +0200 |
parents | 428109b1e3f0 |
children |
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 // InsiderTransactionsRow.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 InsiderTransactionsRow: View { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
11 var insiderTransaction: InsiderTransactionModel |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
12 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 var body: some View { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 HStack { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 VStack { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
16 let date = convertStringToDate(insiderTransaction.filingDate) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 Text(getDateComponents(.month, date)) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
18 .fontWeight(.semibold) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 Text(getDateComponents(.day, date)) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 .font(.title) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 .fontWeight(.semibold) |
457
c6913f0ce46e
Minor UI Updates
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
444
diff
changeset
|
23 .foregroundColor(Color.blue) |
444
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 Text(getDateComponents(.year, date)) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
26 .font(.caption) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 .fontWeight(.semibold) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 .padding(.trailing) |
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 VStack(alignment: .leading) { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
32 Text(insiderTransaction.fullName.capitalized) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
33 .lineLimit(1) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
34 .font(.headline) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
35 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
36 if let reportedTitle = insiderTransaction.reportedTitle { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
37 Text(reportedTitle.capitalized) |
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 Spacer() |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
42 if let transactionShares = insiderTransaction.transactionShares { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
43 VStack(alignment: .trailing) { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
44 Text("\(transactionShares)") |
457
c6913f0ce46e
Minor UI Updates
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
444
diff
changeset
|
45 .foregroundColor(transactionShares < 0 ? Color.red: Color.green) |
444
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
46 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
47 .padding(.leading) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
48 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
49 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
50 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
51 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
52 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
53 struct InsiderTransactionsRow_Previews: PreviewProvider { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
54 static var previews: some View { |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
55 InsiderTransactionsRow( |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
56 insiderTransaction: |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
57 InsiderTransactionModel( |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
58 filingDate: "2020-01-01", |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
59 fullName: "Dennis Concepcion", |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
60 postShares: 1234, |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
61 reportedTitle: "Director", |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
62 transactionCode: "S", |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
63 transactionPrice: 20.08, |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
64 transactionShares: 12345, |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
65 transactionValue: 1234567.0 |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
66 ) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
67 ) |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
68 } |
428109b1e3f0
InsiderTransactions implemented
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
69 } |