annotate Simoleon/Helpers/CurrencySelectorButton.swift @ 179:7c4a789e51ba

add views
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 26 Oct 2021 18:18:36 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
179
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // CurrencySelectorButton.swift
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // Simoleon
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 26/10/21.
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import SwiftUI
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 struct CurrencySelectorButton: View {
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 var selectedCurrency: CurrencyModel
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 var body: some View {
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 RoundedRectangle(cornerRadius: 15)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 .foregroundColor(Color(.secondarySystemBackground))
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 .frame(height: 60)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 .overlay(
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 HStack {
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 Image(selectedCurrency.code)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 .resizable()
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 .aspectRatio(contentMode: .fill)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 .frame(width: 35, height: 35)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 .clipShape(Circle())
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 Text(selectedCurrency.code)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 .foregroundColor(.primary)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 .font(.headline)
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 }
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 )
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 }
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 }
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 struct CurrencySelectorButton_Previews: PreviewProvider {
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 static var previews: some View {
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 CurrencySelectorButton(
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
36 selectedCurrency: CurrencyModel(name: "US Dollar", code: "USD")
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
37 )
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
38 }
7c4a789e51ba add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
39 }