annotate Simoleon/ContentView.swift @ 50:7a6a7c677851

Handle errors with alerts
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Mon, 26 Jul 2021 21:52:15 +0100
parents 2eb05f396fcd
children b0bce2c8e4a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 //
16
aec2e86e5dbd Change design and icon
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 15
diff changeset
5 // Created by Dennis Concepción Martín on 15/07/2021.
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 {
42
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
11 @Environment(\.managedObjectContext) private var viewContext
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
12 @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
28
4f862c618b44 Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 24
diff changeset
13
50
7a6a7c677851 Handle errors with alerts
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 43
diff changeset
14 @State private var tab: Tab = .convert
7a6a7c677851 Handle errors with alerts
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 43
diff changeset
15
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 var body: some View {
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
17 TabView(selection: $tab) {
42
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
18 Conversion(currencyPair: defaultCurrency.first?.pair ?? "USD/GBP")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
19 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
20 Text("Convert", comment: "Tab bar button to show conversion")
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
21 Image(systemName: "arrow.counterclockwise.circle")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
22 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
23 .tag(Tab.convert)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
24 .accessibilityIdentifier("Convert")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
25
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
26 Favourites()
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
27 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
28 Text("Favourites", comment: "Tab bar button to show favourites")
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
29 Image(systemName: "star")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
30 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
31 .tag(Tab.favourites)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
32 .accessibilityIdentifier("Favourites")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
33
22
3596690dda73 Add Config files and implementing Settings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 21
diff changeset
34 Settings()
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
35 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
36 Text("Settings", comment: "Tab bar button to show settings")
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
37 Image(systemName: "gear")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
38 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
39 .tag(Tab.settings)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
40 .accessibilityIdentifier("Settings")
11
a62e5e4a4f02 Implementing networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
41 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
42 }
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
43
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
44 private enum Tab {
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
45 case convert, favourites, settings
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
46 }
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 struct ContentView_Previews: PreviewProvider {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
50 static var previews: some View {
14
03ce7421c6f4 Minor UI updates
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 13
diff changeset
51 ContentView()
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
53 }