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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }