annotate Simoleon/ContentView.swift @ 43:2eb05f396fcd v1.2

Fixes NavigationView bugs
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Mon, 26 Jul 2021 17:35:57 +0100
parents d25b02d439d4
children 7a6a7c677851
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 {
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
11 @State private var tab: Tab = .convert
42
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
12 @Environment(\.managedObjectContext) private var viewContext
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
13 @FetchRequest(sortDescriptors: []) private var defaultCurrency: FetchedResults<DefaultCurrency>
28
4f862c618b44 Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 24
diff changeset
14
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 var body: some View {
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
16 TabView(selection: $tab) {
42
d25b02d439d4 Minor updates subscription and legal requirements
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 32
diff changeset
17 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
18 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
19 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
20 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
21 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
22 .tag(Tab.convert)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
23 .accessibilityIdentifier("Convert")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
24
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
25 Favourites()
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
26 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
27 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
28 Image(systemName: "star")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
29 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
30 .tag(Tab.favourites)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
31 .accessibilityIdentifier("Favourites")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
32
22
3596690dda73 Add Config files and implementing Settings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 21
diff changeset
33 Settings()
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
34 .tabItem {
29
c52966834f83 Add localised strings
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 28
diff changeset
35 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
36 Image(systemName: "gear")
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
37 }
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
38 .tag(Tab.settings)
43
2eb05f396fcd Fixes NavigationView bugs
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 42
diff changeset
39 .accessibilityIdentifier("Settings")
11
a62e5e4a4f02 Implementing networking
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
40 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
41 }
21
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
42
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
43 private enum Tab {
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
44 case convert, favourites, settings
c3dda63f50ed Added Core Data and UI changes
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
45 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
46 }
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 struct ContentView_Previews: PreviewProvider {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
49 static var previews: some View {
14
03ce7421c6f4 Minor UI updates
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 13
diff changeset
50 ContentView()
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
51 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 }