Mercurial > public > simoleon
annotate Simoleon/Subscription.swift @ 28:4f862c618b44
Implemented RevenueCat
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Thu, 22 Jul 2021 19:06:01 +0100 |
parents | |
children | c52966834f83 |
rev | line source |
---|---|
28
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 // |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 // Subscription.swift |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
3 // Simoleon |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 22/07/2021. |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 // |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 import SwiftUI |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
10 struct Subscription: View { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
11 @Binding var showingSubscriptionPaywall: Bool |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
12 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 var body: some View { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 NavigationView { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 ScrollView { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
16 VStack(alignment: .leading, spacing: 20) { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 HStack { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
18 Spacer() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 VStack { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 Image("Subscription") |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 .resizable() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 .aspectRatio(contentMode: .fit) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
23 .frame(width: 100, height: 100) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 .cornerRadius(25) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
25 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
26 Text("Unlock all access") |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
27 .font(.title) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
28 .fontWeight(.semibold) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
29 .padding(.top) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
30 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
31 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
32 Spacer() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
33 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
34 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
35 Divider() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
36 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
37 SubscriptionFeature( |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
38 symbol: "star.circle.fill", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
39 title: "Favourite currencies", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
40 text: "Save your favourite currencies to access them quickly.", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
41 colour: Color(.systemYellow) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
42 ) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
43 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
44 SubscriptionFeature( |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
45 symbol: "flag.circle.fill", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
46 title: "Over 170 currencies", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
47 text: "Have access to almost every currency of the world.", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
48 colour: Color(.systemRed) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
49 ) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
50 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
51 SubscriptionFeature( |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
52 symbol: "icloud.circle.fill", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
53 title: "Simoleon on all your devices", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
54 text: "Your settings and favourite currencies in all your devices.", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
55 colour: Color(.systemBlue) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
56 ) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
57 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
58 SubscriptionFeature( |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
59 symbol: "bitcoinsign.circle.fill", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
60 title: "Cryptos and commodities", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
61 text: "Convert your currency between cryptos, gold, and silver.", |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
62 colour: Color(.systemOrange) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
63 ) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
64 Spacer() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
65 SubscribeButton(showingSubscriptionPaywall: $showingSubscriptionPaywall) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
66 HStack { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
67 Spacer() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
68 RestoreButton(showingSubscriptionPaywall: $showingSubscriptionPaywall) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
69 Spacer() |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
70 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
71 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
72 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
73 .padding(.bottom) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
74 .padding(.horizontal, 40) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
75 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
76 .toolbar { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
77 ToolbarItem(placement: .cancellationAction) { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
78 Button("Cancel", action: { showingSubscriptionPaywall = false }) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
79 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
80 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
81 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
82 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
83 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
84 |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
85 struct Subscription_Previews: PreviewProvider { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
86 static var previews: some View { |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
87 Subscription(showingSubscriptionPaywall: .constant(false)) |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
88 } |
4f862c618b44
Implemented RevenueCat
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
89 } |