comparison Simoleon/SubscriptionPaywall.swift @ 42:d25b02d439d4

Minor updates subscription and legal requirements
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Mon, 26 Jul 2021 15:35:06 +0100
parents Simoleon/Subscription.swift@f76d0e26c178
children ce4eb7416b41
comparison
equal deleted inserted replaced
41:7703c122ce96 42:d25b02d439d4
1 //
2 // SubscriptionPaywall.swift
3 // Simoleon
4 //
5 // Created by Dennis Concepción Martín on 22/07/2021.
6 //
7
8 import SwiftUI
9
10 struct SubscriptionPaywall: View {
11 @Binding var showingSubscriptionPaywall: Bool
12
13 var body: some View {
14 NavigationView {
15 ScrollView {
16 VStack(alignment: .leading, spacing: 20) {
17 HStack {
18 Spacer()
19 VStack {
20 Image("Subscription")
21 .resizable()
22 .aspectRatio(contentMode: .fit)
23 .frame(width: 100, height: 100)
24 .cornerRadius(25)
25
26 Text("Unlock all access", comment: "Headline in Subscription paywall")
27 .font(.title)
28 .fontWeight(.semibold)
29 .padding(.top)
30 }
31
32 Spacer()
33 }
34
35 Divider()
36
37 HStack(alignment:.top) {
38 Image(systemName: "star.circle.fill")
39 .foregroundColor(Color(.systemYellow))
40 .font(.title)
41
42 VStack(alignment: .leading) {
43 Text("Favourite currencies", comment: "Subscription feature title")
44 .font(.headline)
45
46 Text("Save your favourite currencies to access them quickly.", comment: "Subscription feature description")
47 }
48 }
49
50 HStack(alignment:.top) {
51 Image(systemName: "flag.circle.fill")
52 .foregroundColor(Color(.systemRed))
53 .font(.title)
54
55 VStack(alignment: .leading) {
56 Text("Over 170 currencies", comment: "Subscription feature title")
57 .font(.headline)
58
59 Text("Have access to almost every currency of the world.", comment: "Subscription feature description")
60 }
61 }
62
63 HStack(alignment:.top) {
64 Image(systemName: "icloud.circle.fill")
65 .foregroundColor(Color(.systemBlue))
66 .font(.title)
67
68 VStack(alignment: .leading) {
69 Text("Simoleon on all your devices", comment: "Subscription feature title")
70 .font(.headline)
71
72 Text("Your settings and favourite currencies in all your devices.", comment: "Subscription feature description")
73 }
74 }
75
76 HStack(alignment:.top) {
77 Image(systemName: "bitcoinsign.circle.fill")
78 .foregroundColor(Color(.systemOrange))
79 .font(.title)
80
81 VStack(alignment: .leading) {
82 Text("Cryptos and commodities", comment: "Subscription feature title")
83 .font(.headline)
84
85 Text("Convert your currency between cryptos, gold, and silver.", comment: "Subscription feature description")
86 }
87 }
88
89 Spacer()
90 SubscribeButton(showingSubscriptionPaywall: $showingSubscriptionPaywall)
91 HStack {
92 Spacer()
93 VStack {
94 RestoreButton(showingSubscriptionPaywall: $showingSubscriptionPaywall)
95 .padding(.bottom)
96 HStack {
97 Link(destination: URL(string: "https://dennistech.io/privacy-policy")!) {
98 Text("Privacy Policy", comment: "Button to go to app privacy policy")
99 }
100
101 Link(destination: URL(string: "https://dennistech.io/terms-of-use")!) {
102 Text("Terms of Use", comment: "Button to go to app terms of use")
103 }
104 }
105 }
106
107 Spacer()
108 }
109 }
110 .padding(.bottom)
111 .padding(.horizontal, 40)
112 }
113 .toolbar {
114 ToolbarItem(placement: .cancellationAction) {
115 Button(action: { showingSubscriptionPaywall = false }) {
116 Text("Cancel", comment: "Button to dismiss paywall modal sheet")
117 }
118 }
119 }
120 }
121 }
122 }
123
124 struct SubscriptionPaywall_Previews: PreviewProvider {
125 static var previews: some View {
126 SubscriptionPaywall(showingSubscriptionPaywall: .constant(false))
127 }
128 }