annotate LazyBear/Views/Home/TradingDates.swift @ 424:6dd97877f575

Improve code, reorganize files
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sun, 13 Jun 2021 19:40:42 +0200
parents 5f21f7c23c5e
children 4effac4733b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
1 //
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
2 // TradingDate.swift
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
3 // LazyBear
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
4 //
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 30/3/21.
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
6 //
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
7
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
8 import SwiftUI
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
9
339
e81c18164afb Fixing backend API Requests
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 337
diff changeset
10
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
11 struct TradingDates: View {
346
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 339
diff changeset
12 var dates: [TradingDatesModel]
411
681fb377235e Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 406
diff changeset
13 @Environment(\.presentationMode) private var presentationTradingDates
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
14
406
09d05e48462f Change design TradingDateItem
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 394
diff changeset
15 let columns = [GridItem(.adaptive(minimum: 100))]
09d05e48462f Change design TradingDateItem
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 394
diff changeset
16
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
17 var body: some View {
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
18 NavigationView {
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
19 ScrollView {
406
09d05e48462f Change design TradingDateItem
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 394
diff changeset
20 LazyVGrid(columns: columns, spacing: 20) {
336
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
21 ForEach(getArrayOfDates(), id: \.self) { date in
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
22 TradingDatesItem(date: date)
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
23 }
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
24 }
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
25 .padding()
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
26 }
336
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
27 .navigationTitle("Holiday dates")
339
e81c18164afb Fixing backend API Requests
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 337
diff changeset
28 .navigationBarTitleDisplayMode(.inline)
349
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
29 .toolbar {
394
4c90e5b18632 Fixes #46
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 349
diff changeset
30 ToolbarItem(placement: .navigationBarLeading) {
411
681fb377235e Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 406
diff changeset
31 Button(action: { presentationTradingDates.wrappedValue.dismiss() }) {
349
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
32 Image(systemName: "multiply")
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
33 .imageScale(.large)
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
34 }
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
35 }
5ccceb527178 Implementing new internal API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 346
diff changeset
36 }
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
37 }
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
38 }
336
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
39
417
5f21f7c23c5e Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
40 /*
5f21f7c23c5e Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
41 Get array of dates to use in ForEach
5f21f7c23c5e Add comments and clean code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 411
diff changeset
42 */
336
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
43 private func getArrayOfDates() -> [Date] {
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
44 // Get array of the string dates
339
e81c18164afb Fixing backend API Requests
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 337
diff changeset
45 let stringDates = self.dates.map { $0.date }
336
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
46
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
47 // Convert string to date
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
48 let dateFormatter = DateFormatter()
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
49 dateFormatter.dateFormat = "yyyy-MM-dd"
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
50
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
51 // Append dates to a Date array
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
52 var dates = [Date]()
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
53 for stringDate in stringDates {
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
54 dates.append(dateFormatter.date(from: stringDate)!)
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
55 }
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
56
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
57 return dates
6f904b166564 Implementing TradingDaysView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 333
diff changeset
58 }
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
59 }
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
60
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
61 struct TradingDate_Previews: PreviewProvider {
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
62 static var previews: some View {
346
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 339
diff changeset
63 // Format is YYYY-MM-DD
80bfa88c6b0f Implementing Prop API
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents: 339
diff changeset
64 TradingDates(dates: [TradingDatesModel(date: "2021-01-01")])
333
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
65 }
41c9252fc76c Reorganizing files
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff changeset
66 }