Commit ac742fa8 authored by Jose Blaya's avatar Jose Blaya
Browse files

Added label with Apple terms and conditions for subscriptions

parent a5a11b1b
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="VHM-bG-giz">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="VHM-bG-giz">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
......@@ -599,8 +599,14 @@ You will not be charged during this process.</string>
<outlet property="delegate" destination="J5T-ys-Of8" id="AOl-VK-KTQ"/>
</connections>
</collectionView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fC1-Bg-SaI">
<rect key="frame" x="0.0" y="388.5" width="321" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" text="&lt;Agreement&gt;" textAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="KyF-30-stz">
<rect key="frame" x="0.0" y="388.5" width="321" height="249.5"/>
<rect key="frame" x="0.0" y="419.5" width="321" height="218.5"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
<dataDetectorType key="dataDetectorTypes" link="YES"/>
......@@ -624,14 +630,17 @@ You will not be charged during this process.</string>
<constraint firstAttribute="bottom" secondItem="KyF-30-stz" secondAttribute="bottom" id="30v-I9-NUH"/>
<constraint firstItem="1AP-NP-8y0" firstAttribute="top" secondItem="Peu-Da-gWl" secondAttribute="bottom" constant="33" id="3L3-SU-nCw"/>
<constraint firstItem="KyF-30-stz" firstAttribute="leading" secondItem="hTy-4A-jv9" secondAttribute="leading" id="7kA-ah-cv8"/>
<constraint firstItem="fC1-Bg-SaI" firstAttribute="leading" secondItem="hTy-4A-jv9" secondAttribute="leading" id="8NT-pe-CDy"/>
<constraint firstAttribute="trailing" secondItem="1AP-NP-8y0" secondAttribute="trailing" id="ESc-uJ-tfw"/>
<constraint firstItem="KyF-30-stz" firstAttribute="top" secondItem="G5a-CO-RKC" secondAttribute="bottom" constant="10" id="FQm-bp-qj9"/>
<constraint firstItem="KyF-30-stz" firstAttribute="top" secondItem="fC1-Bg-SaI" secondAttribute="bottom" constant="10" id="MBl-ca-MnN"/>
<constraint firstItem="Peu-Da-gWl" firstAttribute="centerX" secondItem="hTy-4A-jv9" secondAttribute="centerX" id="QdA-NI-LNZ"/>
<constraint firstAttribute="trailing" secondItem="G5a-CO-RKC" secondAttribute="trailing" id="U1a-XQ-E6d"/>
<constraint firstItem="1AP-NP-8y0" firstAttribute="leading" secondItem="hTy-4A-jv9" secondAttribute="leading" id="WTU-4M-U31"/>
<constraint firstAttribute="trailing" secondItem="KyF-30-stz" secondAttribute="trailing" id="ZBr-4g-lGZ"/>
<constraint firstItem="G5a-CO-RKC" firstAttribute="leading" secondItem="hTy-4A-jv9" secondAttribute="leading" id="ZxJ-o3-ToY"/>
<constraint firstItem="G5a-CO-RKC" firstAttribute="top" secondItem="1AP-NP-8y0" secondAttribute="bottom" constant="20" id="afu-UC-s1H"/>
<constraint firstAttribute="trailing" secondItem="fC1-Bg-SaI" secondAttribute="trailing" id="c9x-f5-ESH"/>
<constraint firstItem="fC1-Bg-SaI" firstAttribute="top" secondItem="G5a-CO-RKC" secondAttribute="bottom" constant="10" id="cR1-gg-0fq"/>
<constraint firstItem="hPa-uO-IxH" firstAttribute="centerX" secondItem="hTy-4A-jv9" secondAttribute="centerX" id="hF5-2v-dnV"/>
<constraint firstItem="Peu-Da-gWl" firstAttribute="top" secondItem="hPa-uO-IxH" secondAttribute="bottom" constant="12" id="qnZ-7w-aXv"/>
<constraint firstItem="hPa-uO-IxH" firstAttribute="top" secondItem="hTy-4A-jv9" secondAttribute="top" id="re9-Hq-JJu"/>
......
......@@ -36,3 +36,4 @@
"purchase.uncredited.alert.button.cancel" = "Cancel";
"purchase.uncredited.alert.button.recover" = "Recover account";
"purchase.subscription.apple.terms" = "Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase.";
......@@ -24,7 +24,6 @@ internal enum StoryboardSegue {
case loginAccountSegue = "LoginAccountSegue"
case presentGDPRTermsSegue = "PresentGDPRTermsSegue"
case purchaseVPNPlanSegue = "PurchaseVPNPlanSegue"
case redeemGiftCardSegue = "RedeemGiftCardSegue"
case restorePurchaseSegue = "RestorePurchaseSegue"
case signupQRCameraScannerSegue = "SignupQRCameraScannerSegue"
case signupViaPurchaseSegue = "SignupViaPurchaseSegue"
......
......@@ -47,6 +47,12 @@ internal enum L10n {
}
}
internal enum Purchase {
internal enum Subscription {
internal enum Apple {
/// Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase.
internal static let terms = L10n.tr("Signup", "purchase.subscription.apple.terms")
}
}
internal enum Uncredited {
internal enum Alert {
/// You have uncredited transactions. Do you want to recover your account details?
......@@ -238,7 +244,7 @@ internal enum L10n {
/// Select a VPN plan
internal static let title = L10n.tr("Welcome", "purchase.title")
internal enum Confirm {
/// Your are purchasing the %@ plan
/// You are purchasing the %@ plan
internal static func plan(_ p1: String) -> String {
return L10n.tr("Welcome", "purchase.confirm.plan", p1)
}
......
......@@ -21,7 +21,8 @@ class PurchaseViewController: AutolayoutViewController, WelcomeChild {
@IBOutlet private weak var labelTitle: UILabel!
@IBOutlet private weak var labelSubtitle: UILabel!
@IBOutlet private weak var labelAppleTerms: UILabel!
@IBOutlet private weak var collectionPlans: UICollectionView!
@IBOutlet private weak var textAgreement: UITextView!
......@@ -51,6 +52,7 @@ class PurchaseViewController: AutolayoutViewController, WelcomeChild {
labelTitle.text = L10n.Welcome.Purchase.title
labelSubtitle.text = L10n.Welcome.Purchase.subtitle
labelAppleTerms.text = L10n.Signup.Purchase.Subscription.Apple.terms
textAgreement.attributedText = Theme.current.agreementText(
withMessage: L10n.Welcome.Agreement.message,
tos: L10n.Welcome.Agreement.Message.tos,
......@@ -169,6 +171,7 @@ class PurchaseViewController: AutolayoutViewController, WelcomeChild {
Theme.current.applyPrincipalBackground(collectionPlans)
Theme.current.applyTitle(labelTitle, appearance: .dark)
Theme.current.applySubtitle(labelSubtitle)
Theme.current.applySubtitle(labelAppleTerms)
Theme.current.applyLinkAttributes(textAgreement)
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment