Mercurial > public > simoleon
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 } |