Mercurial > public > simoleon
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 |
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 } |