Mercurial > public > simoleon
annotate Simoleon/UI/ConversionTextfield.swift @ 161:3913aff613e8
Fix bug that didn't request API on symbol change
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 31 Aug 2021 10:57:34 +0100 |
parents | 0c589138a6f3 |
children |
rev | line source |
---|---|
160
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 // |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 // ConversionTextfield.swift |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
3 // Simoleon |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 29/8/21. |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 // |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 import SwiftUI |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
10 struct ConversionTextfield: View { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
11 @Binding var amount: String |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
12 @Binding var isEditing: Bool |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 var body: some View { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 ZStack { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
16 TextField("Enter amount", text: $amount) { startedEditing in |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 if startedEditing { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
18 withAnimation { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 isEditing = true |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
23 onCommit: { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 withAnimation { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 isEditing = false |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
26 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 .keyboardType(.decimalPad) |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 .font(Font.title.weight(.semibold)) |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
30 .lineLimit(1) |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
31 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
32 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
33 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
34 |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
35 struct ConversionTextfield_Previews: PreviewProvider { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
36 static var previews: some View { |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
37 ConversionTextfield(amount: .constant("1000"), isEditing: .constant(false)) |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
38 } |
0c589138a6f3
Implement Conversion Box
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
39 } |