annotate Simoleon/ConversionView.swift @ 162:f5de15e06c77

Refactor code
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 31 Aug 2021 13:04:28 +0100
parents 3913aff613e8
children 35573bdd7d9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // ConversionView.swift
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // Simoleon
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 18/07/2021.
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import SwiftUI
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9 import Purchases
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 struct ConversionView: View {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 var showNavigationView: Bool?
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
13 @StateObject var currencyConversion = CurrencyConversion()
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 var body: some View {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 ScrollView(showsIndicators: false) {
160
0c589138a6f3 Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 159
diff changeset
17 VStack(alignment: .leading, spacing: 20) {
159
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
18 HStack {
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
19 CurrencySelector(currencyConversion: currencyConversion)
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
20 FavoriteButton(currencyConversion: currencyConversion)
159
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
21 }
160
0c589138a6f3 Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 159
diff changeset
22
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
23 ConversionBox(currencyConversion: currencyConversion)
160
0c589138a6f3 Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 159
diff changeset
24 .padding(.top)
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 .padding()
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 .navigationTitle("Convert")
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 .if(UIDevice.current.userInterfaceIdiom == .phone && showNavigationView ?? true) { content in
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 NavigationView { content }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 }
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35
159
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
36 struct ConversionView_Previews: PreviewProvider {
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
37 static var previews: some View {
160
0c589138a6f3 Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 159
diff changeset
38 ConversionView(showNavigationView: true)
159
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
39 }
35628bac01f5 Fix a bug that selected wrong symbol in pair
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 157
diff changeset
40 }