annotate LazyBear/Helpers/StockSection.swift @ 465:6953d83060a4

New design
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Sat, 17 Jul 2021 17:58:57 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
465
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // StockSection.swift
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // lazybear
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 17/07/2021.
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import SwiftUI
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 struct StockSection: View {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 var companyQuote: CompanyQuoteModel
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 var body: some View {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 VStack(alignment: .leading) {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 Text("Stock")
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 .font(.title2)
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 .fontWeight(.semibold)
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 Text("\(companyQuote.companyName ?? "Company") is currently trading at \(companyQuote.latestPrice ?? 0, specifier: "%.2f"). That's a price change of \((companyQuote.change ?? 0.0), specifier: "%.2f") or a \((companyQuote.changePercent ?? 0)*100, specifier: "%.2f")% \(generateTendency()) since yesterday.")
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 private func generateTendency() -> String {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 if companyQuote.change ?? 0 >= 0 {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 return "up"
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 } else {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 return "down"
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 struct StockSection_Previews: PreviewProvider {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 static var previews: some View {
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 StockSection(companyQuote: CompanyQuoteModel(symbol: "AAPL", companyName: "Apple Inc", latestPrice: 120.30, changePercent: 0.03, change: 1.50))
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 }
6953d83060a4 New design
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
36 }