@neko-os/rc-subscription 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/config.js +3 -1
  2. package/dist/containers/paywall/Paywall.js +32 -5
  3. package/dist/locales/cs.js +2 -0
  4. package/dist/locales/da.js +2 -0
  5. package/dist/locales/de.js +2 -0
  6. package/dist/locales/el.js +2 -0
  7. package/dist/locales/en.js +2 -0
  8. package/dist/locales/es.js +2 -0
  9. package/dist/locales/fi.js +2 -0
  10. package/dist/locales/fr.js +2 -0
  11. package/dist/locales/hi.js +2 -0
  12. package/dist/locales/hu.js +2 -0
  13. package/dist/locales/id.js +2 -0
  14. package/dist/locales/it.js +2 -0
  15. package/dist/locales/ja.js +2 -0
  16. package/dist/locales/ko.js +2 -0
  17. package/dist/locales/nl.js +2 -0
  18. package/dist/locales/no.js +2 -0
  19. package/dist/locales/pl.js +2 -0
  20. package/dist/locales/pt.js +2 -0
  21. package/dist/locales/ro.js +2 -0
  22. package/dist/locales/ru.js +2 -0
  23. package/dist/locales/sv.js +2 -0
  24. package/dist/locales/th.js +2 -0
  25. package/dist/locales/tr.js +2 -0
  26. package/dist/locales/uk.js +2 -0
  27. package/dist/locales/vi.js +2 -0
  28. package/dist/locales/zh.js +2 -0
  29. package/package.json +1 -1
  30. package/src/config.js +2 -0
  31. package/src/containers/paywall/Paywall.js +28 -1
  32. package/src/locales/cs.js +2 -0
  33. package/src/locales/da.js +2 -0
  34. package/src/locales/de.js +2 -0
  35. package/src/locales/el.js +2 -0
  36. package/src/locales/en.js +2 -0
  37. package/src/locales/es.js +2 -0
  38. package/src/locales/fi.js +2 -0
  39. package/src/locales/fr.js +2 -0
  40. package/src/locales/hi.js +2 -0
  41. package/src/locales/hu.js +2 -0
  42. package/src/locales/id.js +2 -0
  43. package/src/locales/it.js +2 -0
  44. package/src/locales/ja.js +2 -0
  45. package/src/locales/ko.js +2 -0
  46. package/src/locales/nl.js +2 -0
  47. package/src/locales/no.js +2 -0
  48. package/src/locales/pl.js +2 -0
  49. package/src/locales/pt.js +2 -0
  50. package/src/locales/ro.js +2 -0
  51. package/src/locales/ru.js +2 -0
  52. package/src/locales/sv.js +2 -0
  53. package/src/locales/th.js +2 -0
  54. package/src/locales/tr.js +2 -0
  55. package/src/locales/uk.js +2 -0
  56. package/src/locales/vi.js +2 -0
  57. package/src/locales/zh.js +2 -0
package/dist/config.js CHANGED
@@ -2,4 +2,6 @@ import { Platform } from "react-native-web";
2
2
 
3
3
  export var RC_API_KEY =
4
4
  Platform.OS === 'ios' ? process.env.EXPO_PUBLIC_RC_API_KEY_IOS : process.env.EXPO_PUBLIC_RC_API_KEY_ANDROID;
5
- export var RC_ENTITLEMENT_ID = process.env.EXPO_PUBLIC_RC_ENTITLEMENT_ID || 'premium';
5
+ export var RC_ENTITLEMENT_ID = process.env.EXPO_PUBLIC_RC_ENTITLEMENT_ID || 'premium';
6
+ export var PRIVACY_POLICY_URL = process.env.EXPO_PUBLIC_PRIVACY_POLICY_URL;
7
+ export var TERMS_OF_USE_URL = process.env.EXPO_PUBLIC_TERMS_OF_USE_URL;
@@ -1,16 +1,20 @@
1
1
  var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-rc-subscription/src/containers/paywall/Paywall.js";function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}import {
2
2
  AnimatedTopBar,
3
3
  BlurView,
4
+ Link,
4
5
  ReanimatedScrollHandler,
5
6
  ScrollView,
7
+ Text,
6
8
  View,
7
9
  useReanimatedScroll,
8
10
  useTranslation } from
9
11
  '@neko-os/ui';
10
- import { Platform } from "react-native-web";
12
+ import { Linking, Platform } from "react-native-web";
11
13
  import { useState } from 'react';
12
14
  import Animated from 'react-native-reanimated';
13
15
 
16
+ import { PRIVACY_POLICY_URL, TERMS_OF_USE_URL } from "../../config";
17
+
14
18
  import { useSubscription } from "../SubscriptionHandler";
15
19
  import PaywallFeatures from "./PaywallFeatures";
16
20
  import PaywallFooter from "./PaywallFooter";
@@ -38,7 +42,28 @@ function getTrialDays(pkg) {var _pkg$product, _intro$periodUnit;
38
42
  return units;
39
43
  }
40
44
 
41
- function PaywallScrollContent(_ref)
45
+ function PaywallLegalLinks(_ref) {var t = _ref.t;
46
+ if (!PRIVACY_POLICY_URL && !TERMS_OF_USE_URL) return null;
47
+
48
+ return (
49
+ _jsxs(View, { row: true, center: true, gap: "xs", paddingV: "md", children: [
50
+ PRIVACY_POLICY_URL &&
51
+ _jsx(Link, { onPress: function onPress() {return Linking.openURL(PRIVACY_POLICY_URL);}, children:
52
+ _jsx(Text, { xs: true, text3: true, underline: true, children: t('paywall.privacyPolicy') }) }
53
+ ),
54
+
55
+ PRIVACY_POLICY_URL && TERMS_OF_USE_URL && _jsx(Text, { xs: true, text4: true, children: "\xB7" }),
56
+ TERMS_OF_USE_URL &&
57
+ _jsx(Link, { onPress: function onPress() {return Linking.openURL(TERMS_OF_USE_URL);}, children:
58
+ _jsx(Text, { xs: true, text3: true, underline: true, children: t('paywall.termsOfUse') }) }
59
+ )] }
60
+
61
+ ));
62
+
63
+ }
64
+
65
+ function PaywallScrollContent(_ref2)
66
+
42
67
 
43
68
 
44
69
 
@@ -49,7 +74,7 @@ function PaywallScrollContent(_ref)
49
74
 
50
75
 
51
76
 
52
- {var _this = this;var image = _ref.image,title = _ref.title,subtitle = _ref.subtitle,features = _ref.features,packages = _ref.packages,selectedPkg = _ref.selectedPkg,onSelect = _ref.onSelect,monthlyPrice = _ref.monthlyPrice,showReturnIcon = _ref.showReturnIcon,modal = _ref.modal;
77
+ {var _this = this;var image = _ref2.image,title = _ref2.title,subtitle = _ref2.subtitle,features = _ref2.features,packages = _ref2.packages,selectedPkg = _ref2.selectedPkg,onSelect = _ref2.onSelect,monthlyPrice = _ref2.monthlyPrice,showReturnIcon = _ref2.showReturnIcon,modal = _ref2.modal,t = _ref2.t;
53
78
  var _useReanimatedScroll = useReanimatedScroll(),scrollHandler = _useReanimatedScroll.scrollHandler;
54
79
 
55
80
  return (
@@ -68,12 +93,13 @@ function PaywallScrollContent(_ref)
68
93
  ));}
69
94
  ) }
70
95
  ),
96
+ _jsx(PaywallLegalLinks, { t: t }),
71
97
  _jsx(View, { height: 200 })] }
72
98
  ));
73
99
 
74
100
  }
75
101
 
76
- export default function Paywall(_ref2) {var _packages$find, _packages$find$produc;var modal = _ref2.modal,showReturn = _ref2.showReturn,footerPaddingB = _ref2.footerPaddingB;
102
+ export default function Paywall(_ref3) {var _packages$find, _packages$find$produc;var modal = _ref3.modal,showReturn = _ref3.showReturn,footerPaddingB = _ref3.footerPaddingB;
77
103
  var _useTranslation = useTranslation('subscription'),t = _useTranslation.t;
78
104
  var _useSubscription = useSubscription(),offerings = _useSubscription.offerings,paywallConfig = _useSubscription.paywallConfig;
79
105
  var _usePaywallActions = usePaywallActions(),handlePurchase = _usePaywallActions.handlePurchase,handleRestore = _usePaywallActions.handleRestore,loading = _usePaywallActions.loading;
@@ -114,7 +140,8 @@ export default function Paywall(_ref2) {var _packages$find, _packages$find$produ
114
140
  onSelect: setSelectedPkg,
115
141
  monthlyPrice: monthlyPrice,
116
142
  showReturnIcon: showReturnIcon,
117
- modal: modal }
143
+ modal: modal,
144
+ t: t }
118
145
  )] }
119
146
  ),
120
147
 
@@ -8,6 +8,8 @@ export var subscriptionCS = {
8
8
  cta: 'Pokracovat',
9
9
  ctaTrial: 'Zahajit zkusebni obdobi',
10
10
  restore: 'Obnovit nakupy',
11
+ privacyPolicy: 'Zásady ochrany osobních údajů',
12
+ termsOfUse: 'Podmínky použití',
11
13
  monthly: 'Mesicne',
12
14
  yearly: 'Rocne',
13
15
  lifetime: 'Dozivotne',
@@ -8,6 +8,8 @@ export var subscriptionDA = {
8
8
  cta: 'Fortsaet',
9
9
  ctaTrial: 'Start gratis proveperiode',
10
10
  restore: 'Gendan kob',
11
+ privacyPolicy: 'Privatlivspolitik',
12
+ termsOfUse: 'Brugsvilkår',
11
13
  monthly: 'Manedligt',
12
14
  yearly: 'Arligt',
13
15
  lifetime: 'Livstid',
@@ -8,6 +8,8 @@ export var subscriptionDE = {
8
8
  cta: 'Weiter',
9
9
  ctaTrial: 'Kostenlos testen',
10
10
  restore: 'Kaeufe wiederherstellen',
11
+ privacyPolicy: 'Datenschutzerklärung',
12
+ termsOfUse: 'Nutzungsbedingungen',
11
13
  monthly: 'Monatlich',
12
14
  yearly: 'Jaehrlich',
13
15
  lifetime: 'Lebenslang',
@@ -8,6 +8,8 @@ export var subscriptionEL = {
8
8
  cta: 'Synecheia',
9
9
  ctaTrial: 'Enarxi dorean dokimis',
10
10
  restore: 'Epanafora agoron',
11
+ privacyPolicy: 'Πολιτική Απορρήτου',
12
+ termsOfUse: 'Όροι Χρήσης',
11
13
  monthly: 'Miniaia',
12
14
  yearly: 'Etisia',
13
15
  lifetime: 'Dia viou',
@@ -8,6 +8,8 @@ export var subscriptionEN = {
8
8
  cta: 'Continue',
9
9
  ctaTrial: 'Start free trial',
10
10
  restore: 'Restore purchases',
11
+ privacyPolicy: 'Privacy Policy',
12
+ termsOfUse: 'Terms of Use',
11
13
  monthly: 'Monthly',
12
14
  yearly: 'Yearly',
13
15
  lifetime: 'Lifetime',
@@ -8,6 +8,8 @@ export var subscriptionES = {
8
8
  cta: 'Continuar',
9
9
  ctaTrial: 'Iniciar prueba gratuita',
10
10
  restore: 'Restaurar compras',
11
+ privacyPolicy: 'Política de Privacidad',
12
+ termsOfUse: 'Términos de Uso',
11
13
  monthly: 'Mensual',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'De por vida',
@@ -8,6 +8,8 @@ export var subscriptionFI = {
8
8
  cta: 'Jatka',
9
9
  ctaTrial: 'Aloita ilmainen kokeilu',
10
10
  restore: 'Palauta ostokset',
11
+ privacyPolicy: 'Tietosuojakäytäntö',
12
+ termsOfUse: 'Käyttöehdot',
11
13
  monthly: 'Kuukausittain',
12
14
  yearly: 'Vuosittain',
13
15
  lifetime: 'Elinaika',
@@ -8,6 +8,8 @@ export var subscriptionFR = {
8
8
  cta: 'Continuer',
9
9
  ctaTrial: 'Demarrer l\'essai gratuit',
10
10
  restore: 'Restaurer les achats',
11
+ privacyPolicy: 'Politique de Confidentialité',
12
+ termsOfUse: "Conditions d'Utilisation",
11
13
  monthly: 'Mensuel',
12
14
  yearly: 'Annuel',
13
15
  lifetime: 'A vie',
@@ -8,6 +8,8 @@ export var subscriptionHI = {
8
8
  cta: 'Jaree rakhen',
9
9
  ctaTrial: 'Nishulk pareekshan shuru karen',
10
10
  restore: 'Khareedaaree punastaapeet karen',
11
+ privacyPolicy: 'गोपनीयता नीति',
12
+ termsOfUse: 'उपयोग की शर्तें',
11
13
  monthly: 'Maaseek',
12
14
  yearly: 'Vaarshik',
13
15
  lifetime: 'Aajeevon',
@@ -8,6 +8,8 @@ export var subscriptionHU = {
8
8
  cta: 'Folytatas',
9
9
  ctaTrial: 'Ingyenes proba inditasa',
10
10
  restore: 'Vasarlasok visszaallitasa',
11
+ privacyPolicy: 'Adatvédelmi irányelvek',
12
+ termsOfUse: 'Felhasználási feltételek',
11
13
  monthly: 'Havi',
12
14
  yearly: 'Eves',
13
15
  lifetime: 'Elettartam',
@@ -8,6 +8,8 @@ export var subscriptionID = {
8
8
  cta: 'Lanjutkan',
9
9
  ctaTrial: 'Mulai uji coba gratis',
10
10
  restore: 'Pulihkan pembelian',
11
+ privacyPolicy: 'Kebijakan Privasi',
12
+ termsOfUse: 'Ketentuan Penggunaan',
11
13
  monthly: 'Bulanan',
12
14
  yearly: 'Tahunan',
13
15
  lifetime: 'Seumur hidup',
@@ -8,6 +8,8 @@ export var subscriptionIT = {
8
8
  cta: 'Continua',
9
9
  ctaTrial: 'Inizia la prova gratuita',
10
10
  restore: 'Ripristina acquisti',
11
+ privacyPolicy: 'Informativa sulla Privacy',
12
+ termsOfUse: 'Termini di Utilizzo',
11
13
  monthly: 'Mensile',
12
14
  yearly: 'Annuale',
13
15
  lifetime: 'A vita',
@@ -8,6 +8,8 @@ export var subscriptionJA = {
8
8
  cta: '続ける',
9
9
  ctaTrial: '無料トライアルを開始',
10
10
  restore: '購入を復元',
11
+ privacyPolicy: 'プライバシーポリシー',
12
+ termsOfUse: '利用規約',
11
13
  monthly: '月額',
12
14
  yearly: '年額',
13
15
  lifetime: '買い切り',
@@ -8,6 +8,8 @@ export var subscriptionKO = {
8
8
  cta: '계속',
9
9
  ctaTrial: '무료 체험 시작',
10
10
  restore: '구매 복원',
11
+ privacyPolicy: '개인정보 처리방침',
12
+ termsOfUse: '이용약관',
11
13
  monthly: '월간',
12
14
  yearly: '연간',
13
15
  lifetime: '평생',
@@ -8,6 +8,8 @@ export var subscriptionNL = {
8
8
  cta: 'Doorgaan',
9
9
  ctaTrial: 'Start gratis proefperiode',
10
10
  restore: 'Aankopen herstellen',
11
+ privacyPolicy: 'Privacybeleid',
12
+ termsOfUse: 'Gebruiksvoorwaarden',
11
13
  monthly: 'Maandelijks',
12
14
  yearly: 'Jaarlijks',
13
15
  lifetime: 'Levenslang',
@@ -8,6 +8,8 @@ export var subscriptionNO = {
8
8
  cta: 'Fortsett',
9
9
  ctaTrial: 'Start gratis prøveperiode',
10
10
  restore: 'Gjenopprett kjøp',
11
+ privacyPolicy: 'Personvernerklæring',
12
+ termsOfUse: 'Bruksvilkår',
11
13
  monthly: 'Månedlig',
12
14
  yearly: 'Årlig',
13
15
  lifetime: 'Livstid',
@@ -8,6 +8,8 @@ export var subscriptionPL = {
8
8
  cta: 'Kontynuuj',
9
9
  ctaTrial: 'Rozpocznij bezpłatny okres próbny',
10
10
  restore: 'Przywróć zakupy',
11
+ privacyPolicy: 'Polityka Prywatności',
12
+ termsOfUse: 'Warunki Użytkowania',
11
13
  monthly: 'Miesięcznie',
12
14
  yearly: 'Rocznie',
13
15
  lifetime: 'Dożywotnio',
@@ -8,6 +8,8 @@ export var subscriptionPT = {
8
8
  cta: 'Continuar',
9
9
  ctaTrial: 'Iniciar teste gratuito',
10
10
  restore: 'Restaurar compras',
11
+ privacyPolicy: 'Política de Privacidade',
12
+ termsOfUse: 'Termos de Uso',
11
13
  monthly: 'Mensal',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'Vitalício',
@@ -8,6 +8,8 @@ export var subscriptionRO = {
8
8
  cta: 'Continuă',
9
9
  ctaTrial: 'Începe perioada de probă gratuită',
10
10
  restore: 'Restaurează achizițiile',
11
+ privacyPolicy: 'Politica de Confidențialitate',
12
+ termsOfUse: 'Termeni de Utilizare',
11
13
  monthly: 'Lunar',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'Pe viață',
@@ -8,6 +8,8 @@ export var subscriptionRU = {
8
8
  cta: 'Продолжить',
9
9
  ctaTrial: 'Начать бесплатный пробный период',
10
10
  restore: 'Восстановить покупки',
11
+ privacyPolicy: 'Политика конфиденциальности',
12
+ termsOfUse: 'Условия использования',
11
13
  monthly: 'Ежемесячно',
12
14
  yearly: 'Ежегодно',
13
15
  lifetime: 'Навсегда',
@@ -8,6 +8,8 @@ export var subscriptionSV = {
8
8
  cta: 'Fortsätt',
9
9
  ctaTrial: 'Starta gratis provperiod',
10
10
  restore: 'Återställ köp',
11
+ privacyPolicy: 'Integritetspolicy',
12
+ termsOfUse: 'Användarvillkor',
11
13
  monthly: 'Månadsvis',
12
14
  yearly: 'Årsvis',
13
15
  lifetime: 'Livstid',
@@ -8,6 +8,8 @@ export var subscriptionTH = {
8
8
  cta: 'ดำเนินการต่อ',
9
9
  ctaTrial: 'เริ่มทดลองใช้ฟรี',
10
10
  restore: 'กู้คืนการซื้อ',
11
+ privacyPolicy: 'นโยบายความเป็นส่วนตัว',
12
+ termsOfUse: 'ข้อกำหนดการใช้งาน',
11
13
  monthly: 'รายเดือน',
12
14
  yearly: 'รายปี',
13
15
  lifetime: 'ตลอดชีพ',
@@ -8,6 +8,8 @@ export var subscriptionTR = {
8
8
  cta: 'Devam et',
9
9
  ctaTrial: 'Ücretsiz denemeyi başlat',
10
10
  restore: 'Satın alımları geri yükle',
11
+ privacyPolicy: 'Gizlilik Politikası',
12
+ termsOfUse: 'Kullanım Koşulları',
11
13
  monthly: 'Aylık',
12
14
  yearly: 'Yıllık',
13
15
  lifetime: 'Ömür boyu',
@@ -8,6 +8,8 @@ export var subscriptionUK = {
8
8
  cta: 'Продовжити',
9
9
  ctaTrial: 'Почати безкоштовний пробний період',
10
10
  restore: 'Відновити покупки',
11
+ privacyPolicy: 'Політика конфіденційності',
12
+ termsOfUse: 'Умови використання',
11
13
  monthly: 'Щомісячно',
12
14
  yearly: 'Щорічно',
13
15
  lifetime: 'Назавжди',
@@ -8,6 +8,8 @@ export var subscriptionVI = {
8
8
  cta: 'Tiếp tục',
9
9
  ctaTrial: 'Bắt đầu dùng thử miễn phí',
10
10
  restore: 'Khôi phục giao dịch',
11
+ privacyPolicy: 'Chính sách Bảo mật',
12
+ termsOfUse: 'Điều khoản Sử dụng',
11
13
  monthly: 'Hàng tháng',
12
14
  yearly: 'Hàng năm',
13
15
  lifetime: 'Trọn đời',
@@ -8,6 +8,8 @@ export var subscriptionZH = {
8
8
  cta: '继续',
9
9
  ctaTrial: '开始免费试用',
10
10
  restore: '恢复购买',
11
+ privacyPolicy: '隐私政策',
12
+ termsOfUse: '使用条款',
11
13
  monthly: '月付',
12
14
  yearly: '年付',
13
15
  lifetime: '终身',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neko-os/rc-subscription",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "license": "MIT",
5
5
  "author": "Christian Storch <ccstorch@gmail.com>",
6
6
  "main": "dist/index.js",
package/src/config.js CHANGED
@@ -3,3 +3,5 @@ import { Platform } from 'react-native'
3
3
  export const RC_API_KEY =
4
4
  Platform.OS === 'ios' ? process.env.EXPO_PUBLIC_RC_API_KEY_IOS : process.env.EXPO_PUBLIC_RC_API_KEY_ANDROID
5
5
  export const RC_ENTITLEMENT_ID = process.env.EXPO_PUBLIC_RC_ENTITLEMENT_ID || 'premium'
6
+ export const PRIVACY_POLICY_URL = process.env.EXPO_PUBLIC_PRIVACY_POLICY_URL
7
+ export const TERMS_OF_USE_URL = process.env.EXPO_PUBLIC_TERMS_OF_USE_URL
@@ -1,16 +1,20 @@
1
1
  import {
2
2
  AnimatedTopBar,
3
3
  BlurView,
4
+ Link,
4
5
  ReanimatedScrollHandler,
5
6
  ScrollView,
7
+ Text,
6
8
  View,
7
9
  useReanimatedScroll,
8
10
  useTranslation,
9
11
  } from '@neko-os/ui'
10
- import { Platform } from 'react-native'
12
+ import { Linking, Platform } from 'react-native'
11
13
  import { useState } from 'react'
12
14
  import Animated from 'react-native-reanimated'
13
15
 
16
+ import { PRIVACY_POLICY_URL, TERMS_OF_USE_URL } from '../../config'
17
+
14
18
  import { useSubscription } from '../SubscriptionHandler'
15
19
  import PaywallFeatures from './PaywallFeatures'
16
20
  import PaywallFooter from './PaywallFooter'
@@ -38,6 +42,26 @@ function getTrialDays(pkg) {
38
42
  return units
39
43
  }
40
44
 
45
+ function PaywallLegalLinks({ t }) {
46
+ if (!PRIVACY_POLICY_URL && !TERMS_OF_USE_URL) return null
47
+
48
+ return (
49
+ <View row center gap="xs" paddingV="md">
50
+ {PRIVACY_POLICY_URL && (
51
+ <Link onPress={() => Linking.openURL(PRIVACY_POLICY_URL)}>
52
+ <Text xs text3 underline>{t('paywall.privacyPolicy')}</Text>
53
+ </Link>
54
+ )}
55
+ {PRIVACY_POLICY_URL && TERMS_OF_USE_URL && <Text xs text4>·</Text>}
56
+ {TERMS_OF_USE_URL && (
57
+ <Link onPress={() => Linking.openURL(TERMS_OF_USE_URL)}>
58
+ <Text xs text3 underline>{t('paywall.termsOfUse')}</Text>
59
+ </Link>
60
+ )}
61
+ </View>
62
+ )
63
+ }
64
+
41
65
  function PaywallScrollContent({
42
66
  image,
43
67
  title,
@@ -49,6 +73,7 @@ function PaywallScrollContent({
49
73
  monthlyPrice,
50
74
  showReturnIcon,
51
75
  modal,
76
+ t,
52
77
  }) {
53
78
  const { scrollHandler } = useReanimatedScroll()
54
79
 
@@ -68,6 +93,7 @@ function PaywallScrollContent({
68
93
  />
69
94
  ))}
70
95
  </View>
96
+ <PaywallLegalLinks t={t} />
71
97
  <View height={200} />
72
98
  </AnimatedScrollView>
73
99
  )
@@ -115,6 +141,7 @@ export default function Paywall({ modal, showReturn, footerPaddingB }) {
115
141
  monthlyPrice={monthlyPrice}
116
142
  showReturnIcon={showReturnIcon}
117
143
  modal={modal}
144
+ t={t}
118
145
  />
119
146
  </ReanimatedScrollHandler>
120
147
 
package/src/locales/cs.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionCS = {
8
8
  cta: 'Pokracovat',
9
9
  ctaTrial: 'Zahajit zkusebni obdobi',
10
10
  restore: 'Obnovit nakupy',
11
+ privacyPolicy: 'Zásady ochrany osobních údajů',
12
+ termsOfUse: 'Podmínky použití',
11
13
  monthly: 'Mesicne',
12
14
  yearly: 'Rocne',
13
15
  lifetime: 'Dozivotne',
package/src/locales/da.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionDA = {
8
8
  cta: 'Fortsaet',
9
9
  ctaTrial: 'Start gratis proveperiode',
10
10
  restore: 'Gendan kob',
11
+ privacyPolicy: 'Privatlivspolitik',
12
+ termsOfUse: 'Brugsvilkår',
11
13
  monthly: 'Manedligt',
12
14
  yearly: 'Arligt',
13
15
  lifetime: 'Livstid',
package/src/locales/de.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionDE = {
8
8
  cta: 'Weiter',
9
9
  ctaTrial: 'Kostenlos testen',
10
10
  restore: 'Kaeufe wiederherstellen',
11
+ privacyPolicy: 'Datenschutzerklärung',
12
+ termsOfUse: 'Nutzungsbedingungen',
11
13
  monthly: 'Monatlich',
12
14
  yearly: 'Jaehrlich',
13
15
  lifetime: 'Lebenslang',
package/src/locales/el.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionEL = {
8
8
  cta: 'Synecheia',
9
9
  ctaTrial: 'Enarxi dorean dokimis',
10
10
  restore: 'Epanafora agoron',
11
+ privacyPolicy: 'Πολιτική Απορρήτου',
12
+ termsOfUse: 'Όροι Χρήσης',
11
13
  monthly: 'Miniaia',
12
14
  yearly: 'Etisia',
13
15
  lifetime: 'Dia viou',
package/src/locales/en.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionEN = {
8
8
  cta: 'Continue',
9
9
  ctaTrial: 'Start free trial',
10
10
  restore: 'Restore purchases',
11
+ privacyPolicy: 'Privacy Policy',
12
+ termsOfUse: 'Terms of Use',
11
13
  monthly: 'Monthly',
12
14
  yearly: 'Yearly',
13
15
  lifetime: 'Lifetime',
package/src/locales/es.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionES = {
8
8
  cta: 'Continuar',
9
9
  ctaTrial: 'Iniciar prueba gratuita',
10
10
  restore: 'Restaurar compras',
11
+ privacyPolicy: 'Política de Privacidad',
12
+ termsOfUse: 'Términos de Uso',
11
13
  monthly: 'Mensual',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'De por vida',
package/src/locales/fi.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionFI = {
8
8
  cta: 'Jatka',
9
9
  ctaTrial: 'Aloita ilmainen kokeilu',
10
10
  restore: 'Palauta ostokset',
11
+ privacyPolicy: 'Tietosuojakäytäntö',
12
+ termsOfUse: 'Käyttöehdot',
11
13
  monthly: 'Kuukausittain',
12
14
  yearly: 'Vuosittain',
13
15
  lifetime: 'Elinaika',
package/src/locales/fr.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionFR = {
8
8
  cta: 'Continuer',
9
9
  ctaTrial: 'Demarrer l\'essai gratuit',
10
10
  restore: 'Restaurer les achats',
11
+ privacyPolicy: 'Politique de Confidentialité',
12
+ termsOfUse: "Conditions d'Utilisation",
11
13
  monthly: 'Mensuel',
12
14
  yearly: 'Annuel',
13
15
  lifetime: 'A vie',
package/src/locales/hi.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionHI = {
8
8
  cta: 'Jaree rakhen',
9
9
  ctaTrial: 'Nishulk pareekshan shuru karen',
10
10
  restore: 'Khareedaaree punastaapeet karen',
11
+ privacyPolicy: 'गोपनीयता नीति',
12
+ termsOfUse: 'उपयोग की शर्तें',
11
13
  monthly: 'Maaseek',
12
14
  yearly: 'Vaarshik',
13
15
  lifetime: 'Aajeevon',
package/src/locales/hu.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionHU = {
8
8
  cta: 'Folytatas',
9
9
  ctaTrial: 'Ingyenes proba inditasa',
10
10
  restore: 'Vasarlasok visszaallitasa',
11
+ privacyPolicy: 'Adatvédelmi irányelvek',
12
+ termsOfUse: 'Felhasználási feltételek',
11
13
  monthly: 'Havi',
12
14
  yearly: 'Eves',
13
15
  lifetime: 'Elettartam',
package/src/locales/id.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionID = {
8
8
  cta: 'Lanjutkan',
9
9
  ctaTrial: 'Mulai uji coba gratis',
10
10
  restore: 'Pulihkan pembelian',
11
+ privacyPolicy: 'Kebijakan Privasi',
12
+ termsOfUse: 'Ketentuan Penggunaan',
11
13
  monthly: 'Bulanan',
12
14
  yearly: 'Tahunan',
13
15
  lifetime: 'Seumur hidup',
package/src/locales/it.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionIT = {
8
8
  cta: 'Continua',
9
9
  ctaTrial: 'Inizia la prova gratuita',
10
10
  restore: 'Ripristina acquisti',
11
+ privacyPolicy: 'Informativa sulla Privacy',
12
+ termsOfUse: 'Termini di Utilizzo',
11
13
  monthly: 'Mensile',
12
14
  yearly: 'Annuale',
13
15
  lifetime: 'A vita',
package/src/locales/ja.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionJA = {
8
8
  cta: '続ける',
9
9
  ctaTrial: '無料トライアルを開始',
10
10
  restore: '購入を復元',
11
+ privacyPolicy: 'プライバシーポリシー',
12
+ termsOfUse: '利用規約',
11
13
  monthly: '月額',
12
14
  yearly: '年額',
13
15
  lifetime: '買い切り',
package/src/locales/ko.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionKO = {
8
8
  cta: '계속',
9
9
  ctaTrial: '무료 체험 시작',
10
10
  restore: '구매 복원',
11
+ privacyPolicy: '개인정보 처리방침',
12
+ termsOfUse: '이용약관',
11
13
  monthly: '월간',
12
14
  yearly: '연간',
13
15
  lifetime: '평생',
package/src/locales/nl.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionNL = {
8
8
  cta: 'Doorgaan',
9
9
  ctaTrial: 'Start gratis proefperiode',
10
10
  restore: 'Aankopen herstellen',
11
+ privacyPolicy: 'Privacybeleid',
12
+ termsOfUse: 'Gebruiksvoorwaarden',
11
13
  monthly: 'Maandelijks',
12
14
  yearly: 'Jaarlijks',
13
15
  lifetime: 'Levenslang',
package/src/locales/no.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionNO = {
8
8
  cta: 'Fortsett',
9
9
  ctaTrial: 'Start gratis prøveperiode',
10
10
  restore: 'Gjenopprett kjøp',
11
+ privacyPolicy: 'Personvernerklæring',
12
+ termsOfUse: 'Bruksvilkår',
11
13
  monthly: 'Månedlig',
12
14
  yearly: 'Årlig',
13
15
  lifetime: 'Livstid',
package/src/locales/pl.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionPL = {
8
8
  cta: 'Kontynuuj',
9
9
  ctaTrial: 'Rozpocznij bezpłatny okres próbny',
10
10
  restore: 'Przywróć zakupy',
11
+ privacyPolicy: 'Polityka Prywatności',
12
+ termsOfUse: 'Warunki Użytkowania',
11
13
  monthly: 'Miesięcznie',
12
14
  yearly: 'Rocznie',
13
15
  lifetime: 'Dożywotnio',
package/src/locales/pt.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionPT = {
8
8
  cta: 'Continuar',
9
9
  ctaTrial: 'Iniciar teste gratuito',
10
10
  restore: 'Restaurar compras',
11
+ privacyPolicy: 'Política de Privacidade',
12
+ termsOfUse: 'Termos de Uso',
11
13
  monthly: 'Mensal',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'Vitalício',
package/src/locales/ro.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionRO = {
8
8
  cta: 'Continuă',
9
9
  ctaTrial: 'Începe perioada de probă gratuită',
10
10
  restore: 'Restaurează achizițiile',
11
+ privacyPolicy: 'Politica de Confidențialitate',
12
+ termsOfUse: 'Termeni de Utilizare',
11
13
  monthly: 'Lunar',
12
14
  yearly: 'Anual',
13
15
  lifetime: 'Pe viață',
package/src/locales/ru.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionRU = {
8
8
  cta: 'Продолжить',
9
9
  ctaTrial: 'Начать бесплатный пробный период',
10
10
  restore: 'Восстановить покупки',
11
+ privacyPolicy: 'Политика конфиденциальности',
12
+ termsOfUse: 'Условия использования',
11
13
  monthly: 'Ежемесячно',
12
14
  yearly: 'Ежегодно',
13
15
  lifetime: 'Навсегда',
package/src/locales/sv.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionSV = {
8
8
  cta: 'Fortsätt',
9
9
  ctaTrial: 'Starta gratis provperiod',
10
10
  restore: 'Återställ köp',
11
+ privacyPolicy: 'Integritetspolicy',
12
+ termsOfUse: 'Användarvillkor',
11
13
  monthly: 'Månadsvis',
12
14
  yearly: 'Årsvis',
13
15
  lifetime: 'Livstid',
package/src/locales/th.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionTH = {
8
8
  cta: 'ดำเนินการต่อ',
9
9
  ctaTrial: 'เริ่มทดลองใช้ฟรี',
10
10
  restore: 'กู้คืนการซื้อ',
11
+ privacyPolicy: 'นโยบายความเป็นส่วนตัว',
12
+ termsOfUse: 'ข้อกำหนดการใช้งาน',
11
13
  monthly: 'รายเดือน',
12
14
  yearly: 'รายปี',
13
15
  lifetime: 'ตลอดชีพ',
package/src/locales/tr.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionTR = {
8
8
  cta: 'Devam et',
9
9
  ctaTrial: 'Ücretsiz denemeyi başlat',
10
10
  restore: 'Satın alımları geri yükle',
11
+ privacyPolicy: 'Gizlilik Politikası',
12
+ termsOfUse: 'Kullanım Koşulları',
11
13
  monthly: 'Aylık',
12
14
  yearly: 'Yıllık',
13
15
  lifetime: 'Ömür boyu',
package/src/locales/uk.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionUK = {
8
8
  cta: 'Продовжити',
9
9
  ctaTrial: 'Почати безкоштовний пробний період',
10
10
  restore: 'Відновити покупки',
11
+ privacyPolicy: 'Політика конфіденційності',
12
+ termsOfUse: 'Умови використання',
11
13
  monthly: 'Щомісячно',
12
14
  yearly: 'Щорічно',
13
15
  lifetime: 'Назавжди',
package/src/locales/vi.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionVI = {
8
8
  cta: 'Tiếp tục',
9
9
  ctaTrial: 'Bắt đầu dùng thử miễn phí',
10
10
  restore: 'Khôi phục giao dịch',
11
+ privacyPolicy: 'Chính sách Bảo mật',
12
+ termsOfUse: 'Điều khoản Sử dụng',
11
13
  monthly: 'Hàng tháng',
12
14
  yearly: 'Hàng năm',
13
15
  lifetime: 'Trọn đời',
package/src/locales/zh.js CHANGED
@@ -8,6 +8,8 @@ export const subscriptionZH = {
8
8
  cta: '继续',
9
9
  ctaTrial: '开始免费试用',
10
10
  restore: '恢复购买',
11
+ privacyPolicy: '隐私政策',
12
+ termsOfUse: '使用条款',
11
13
  monthly: '月付',
12
14
  yearly: '年付',
13
15
  lifetime: '终身',