Mercurial > public > simoleon
annotate Simoleon/ContentView.swift @ 195:7b009649a063 default tip
Move to mercurial
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Tue, 03 Jun 2025 14:43:48 +0100 |
parents | 13d5a8deb6c2 |
children |
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 { |
186
1ebd1c5dd302
finish ConversionView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
183
diff
changeset
|
20 Sidebar() |
187
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
21 ConversionView( |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
22 baseCurrency: SupportedCurrencyResult(code: "EUR", name: "Euro", isCrypto: 0), |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
23 quoteCurrency: SupportedCurrencyResult(code: "USD", name: "U.S. Dollar", isCrypto: 0) |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
24 ) |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
25 } |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
26 } else { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
27 TabView(selection: $tab) { |
187
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
28 ConversionView( |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
29 baseCurrency: SupportedCurrencyResult(code: "EUR", name: "Euro", isCrypto: 0), |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
30 quoteCurrency: SupportedCurrencyResult(code: "USD", name: "U.S. Dollar", isCrypto: 0) |
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
31 ) |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
32 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
33 Label("Convert", systemImage: "arrow.counterclockwise.circle") |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
34 } |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
35 .tag(Tab.convert) |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
36 |
187
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
37 FavoritesView() |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
38 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
39 Label("Favorites", systemImage: "star") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
40 } |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
41 .tag(Tab.favorites) |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
42 |
187
13d5a8deb6c2
add AboutView and FavoritesView
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
186
diff
changeset
|
43 AboutView() |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
44 .tabItem { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
45 Label("About", systemImage: "info.circle") |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
46 } |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
47 .tag(Tab.settings) |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
48 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
49 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
50 } |
181
5a9430fd6b4d
restart project to new version
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
179
diff
changeset
|
51 |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
52 var body: some View { |
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
53 adjustedView |
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 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
56 |
181
5a9430fd6b4d
restart project to new version
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
179
diff
changeset
|
57 |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
58 struct ContentView_Previews: PreviewProvider { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
59 static var previews: some View { |
183
d2398f02e1ce
implement unit currency selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
182
diff
changeset
|
60 ContentView() |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
61 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
62 } |