Mercurial > public > simoleon
annotate Simoleon/UI/CurrencyButton.swift @ 166:e4cbb1eea394
Implement FavoritesView
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Sat, 11 Sep 2021 16:30:32 +0200 |
parents | 0c589138a6f3 |
children |
rev | line source |
---|---|
156
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 // |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 // CurrencyButton.swift |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
3 // Simoleon |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 24/8/21. |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 // |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 import SwiftUI |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
10 struct CurrencyButton: View { |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
11 var selectedCurrency: String |
160
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
156
diff
changeset
|
12 let currencyDetails: [String: CurrencyModel] = try! readJson(from: "Currencies.json") |
156
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 var body: some View { |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 let currency = currencyDetails[selectedCurrency]! |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
16 RoundedRectangle(cornerRadius: 15) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 .foregroundColor(Color(.secondarySystemBackground)) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
18 .frame(height: 60) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 .overlay( |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 HStack { |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 Flag(flag: currency.flag) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 Text(currency.symbol) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
23 .foregroundColor(.primary) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 .font(.headline) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 } |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
26 ) |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 } |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 } |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
30 struct CurrencyButton_Previews: PreviewProvider { |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
31 static var previews: some View { |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
32 CurrencyButton(selectedCurrency: "USD") |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
33 } |
84137052813d
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
34 } |