Mercurial > public > simoleon
annotate Simoleon/ContentView.swift @ 183:d2398f02e1ce
implement unit currency selector
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 20 Dec 2021 12:28:16 +0100 |
parents | ba3ebe8cefe5 |
children | 1ebd1c5dd302 |
rev | line source |
---|---|
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 // |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 // ContentView.swift |
182
ba3ebe8cefe5
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
181
diff
changeset
|
3 // Simoleon |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
181
5a9430fd6b4d
restart project to new version
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
179
diff
changeset
|
5 // Created by Dennis Concepción Martín on 8/12/21. |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 // |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 import SwiftUI |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
10 struct ContentView: View { |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
11 @State private var tab: Tab = .convert |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
12 |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
13 private enum Tab { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
14 case convert, favorites, settings |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
15 } |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
16 |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
17 @ViewBuilder var adjustedView: some View { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
18 if UIDevice.current.userInterfaceIdiom == .pad { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
19 NavigationView { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
20 |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
21 } |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
22 } else { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
23 TabView(selection: $tab) { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
24 ConversionView() |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
25 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
26 Label("Convert", systemImage: "arrow.counterclockwise.circle") |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
27 } |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
28 .tag(Tab.convert) |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
29 |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
30 Text("Favorites View") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
31 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
32 Label("Favorites", systemImage: "star") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
33 } |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
34 .tag(Tab.favorites) |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
35 |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
36 Text("About View") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
37 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
38 Label("About", systemImage: "info.circle") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
39 } |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
40 .tag(Tab.settings) |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
41 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
42 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
43 } |
181
5a9430fd6b4d
restart project to new version
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
179
diff
changeset
|
44 |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
45 var body: some View { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
46 adjustedView |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
47 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
48 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
49 |
181
5a9430fd6b4d
restart project to new version
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
179
diff
changeset
|
50 |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
51 struct ContentView_Previews: PreviewProvider { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
52 static var previews: some View { |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
53 ContentView() |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
54 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
55 } |