Mercurial > public > simoleon
annotate Simoleon/ContentView.swift @ 179:7c4a789e51ba
add views
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 26 Oct 2021 18:18:36 +0200 |
parents | a1443bd115d9 |
children | 5a9430fd6b4d |
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 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
3 // Simoleon |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
173
ad8c6567539d
restart project
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
170
diff
changeset
|
5 // Created by Dennis Concepción Martín on 26/10/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 { |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
11 @State private var tab: Tab = .convert |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
12 |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
13 private enum Tab { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
14 case convert, favorites, settings |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
15 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
16 |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
17 @ViewBuilder var adjustedView: some View { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
18 if UIDevice.current.userInterfaceIdiom == .pad { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
19 NavigationView { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
20 Sidebar() |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
21 ConversionView() |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
22 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
23 } else { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
24 TabView(selection: $tab) { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
25 ConversionView() |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
26 .tabItem { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
27 Label("Convert", systemImage: "arrow.counterclockwise.circle") |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
28 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
29 .tag(Tab.convert) |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
30 |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
31 FavoritesView() |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
32 .tabItem { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
33 Label("Favorites", systemImage: "star") |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
34 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
35 .tag(Tab.favorites) |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
36 |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
37 AboutView() |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
38 .tabItem { |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
39 Label("About", systemImage: "info.circle") |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
40 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
41 .tag(Tab.settings) |
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 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
44 } |
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
45 |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
46 var body: some View { |
179
7c4a789e51ba
add views
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
177
diff
changeset
|
47 adjustedView |
0
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 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
50 |
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 { |
177
a1443bd115d9
add icloud capability
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
173
diff
changeset
|
53 ContentView() |
a1443bd115d9
add icloud capability
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
173
diff
changeset
|
54 .environment(\.managedObjectContext, PersistenceController.preview.container.viewContext) |
0
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 } |