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

Merge branch '60-piax-12-redeem-gift-card' into 'release/2.0.0'

Resolve "PIAX 12. Redeem Gift Card"

See merge request ios/client-library-apple!116
parents d78735ad c6941b5e
......@@ -47,6 +47,7 @@ Pod::Spec.new do |s|
p.resources = "PIALibrary/Resources/UI/Shared/**/*"
p.dependency "PIALibrary/Library"
p.dependency "SwiftyBeaver"
p.dependency "SwiftEntryKit", "0.7.2"
p.ios.source_files = "PIALibrary/Sources/UI/iOS/**/*.swift"
p.ios.resources = "PIALibrary/Resources/UI/iOS/**/*"
......
......@@ -262,6 +262,12 @@
DD31498F21834B3F008E26E8 /* GetStartedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD31498E21834B3F008E26E8 /* GetStartedViewController.swift */; };
DD314990218350D1008E26E8 /* SwiftGen+ScenesStoryboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC812472176166500CB290C /* SwiftGen+ScenesStoryboards.swift */; };
DD314991218350D1008E26E8 /* SwiftGen+SeguesStoryboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC81249217617F900CB290C /* SwiftGen+SeguesStoryboards.swift */; };
DD8BF3CB219C6BAA0041357C /* ConfirmVPNPlanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD8BF3CA219C6BAA0041357C /* ConfirmVPNPlanViewController.swift */; };
DDD824E32189969400151709 /* Preset.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD824E22189969400151709 /* Preset.swift */; };
DDD824E5218996CD00151709 /* Pages.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD824E4218996CD00151709 /* Pages.swift */; };
DDD824E72189C0E800151709 /* BrandableNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD824E62189C0E800151709 /* BrandableNavigationBar.swift */; };
DDD824E82189C0EE00151709 /* BrandableNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD824E62189C0E800151709 /* BrandableNavigationBar.swift */; };
DDD824EA2189CD5700151709 /* NavigationLogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD824E92189CD5700151709 /* NavigationLogoView.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
......@@ -514,8 +520,13 @@
DA1A1A4FDD6B854C1227A5F0 /* Pods_PIALibrary_PIALibraryHost_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PIALibrary_PIALibraryHost_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DD0AC78F218715B8009B576B /* PIAButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PIAButton.swift; sourceTree = "<group>"; };
DD31498E21834B3F008E26E8 /* GetStartedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetStartedViewController.swift; sourceTree = "<group>"; };
DD8BF3CA219C6BAA0041357C /* ConfirmVPNPlanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmVPNPlanViewController.swift; sourceTree = "<group>"; };
DDC812472176166500CB290C /* SwiftGen+ScenesStoryboards.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+ScenesStoryboards.swift"; sourceTree = "<group>"; };
DDC81249217617F900CB290C /* SwiftGen+SeguesStoryboards.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+SeguesStoryboards.swift"; sourceTree = "<group>"; };
DDD824E22189969400151709 /* Preset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preset.swift; sourceTree = "<group>"; };
DDD824E4218996CD00151709 /* Pages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pages.swift; sourceTree = "<group>"; };
DDD824E62189C0E800151709 /* BrandableNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrandableNavigationBar.swift; sourceTree = "<group>"; };
DDD824E92189CD5700151709 /* NavigationLogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationLogoView.swift; sourceTree = "<group>"; };
E4E93DB7FA9D38CD96825F38 /* Pods-PIALibrary-PIALibraryTests-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PIALibrary-PIALibraryTests-iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PIALibrary-PIALibraryTests-iOS/Pods-PIALibrary-PIALibraryTests-iOS.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
......@@ -578,6 +589,8 @@
0E392DB81FE34B5A0002160D /* NSString+URL.m */,
0E2ADCD81FE072ED00BB170C /* Pinger.h */,
0E2ADCD91FE072ED00BB170C /* Pinger.m */,
DDD824E22189969400151709 /* Preset.swift */,
DDD824E4218996CD00151709 /* Pages.swift */,
);
path = Util;
sourceTree = "<group>";
......@@ -695,6 +708,7 @@
841BE60E212AFE49002EF2D1 /* GiftCardUtil.swift */,
84125E07213D7DFF001BCC19 /* PIAColors.swift */,
84125E0A213D7E0E001BCC19 /* PIAFonts.swift */,
DDD824E62189C0E800151709 /* BrandableNavigationBar.swift */,
);
path = Shared;
sourceTree = "<group>";
......@@ -796,6 +810,7 @@
84577FC2213D9AEA006DEC3D /* UITextField+PlaceholderColor.swift */,
84577FC4213D9B4D006DEC3D /* UILabel+LineHeight.swift */,
DD0AC78F218715B8009B576B /* PIAButton.swift */,
DDD824E92189CD5700151709 /* NavigationLogoView.swift */,
84577FB9213D8EB2006DEC3D /* Styles */,
);
path = iOS;
......@@ -1046,6 +1061,7 @@
0EB8C05A1F9CD38A005857E4 /* SignupSuccessViewController.swift */,
0EB8C05B1F9CD38A005857E4 /* WelcomePageViewController.swift */,
DD31498E21834B3F008E26E8 /* GetStartedViewController.swift */,
DD8BF3CA219C6BAA0041357C /* ConfirmVPNPlanViewController.swift */,
);
path = ViewControllers;
sourceTree = "<group>";
......@@ -1301,7 +1317,9 @@
"${BUILT_PRODUCTS_DIR}/Gloss/Gloss.framework",
"${PODS_ROOT}/OpenSSL-Apple/frameworks/iPhone/openssl.framework",
"${BUILT_PRODUCTS_DIR}/PIATunnel/PIATunnel.framework",
"${BUILT_PRODUCTS_DIR}/QuickLayout/QuickLayout.framework",
"${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework",
"${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyBeaver/SwiftyBeaver.framework",
);
name = "[CP] Embed Pods Frameworks";
......@@ -1312,7 +1330,9 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Gloss.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PIATunnel.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QuickLayout.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftEntryKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyBeaver.framework",
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -1355,7 +1375,9 @@
"${BUILT_PRODUCTS_DIR}/Gloss/Gloss.framework",
"${PODS_ROOT}/OpenSSL-Apple/frameworks/iPhone/openssl.framework",
"${BUILT_PRODUCTS_DIR}/PIATunnel/PIATunnel.framework",
"${BUILT_PRODUCTS_DIR}/QuickLayout/QuickLayout.framework",
"${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework",
"${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyBeaver/SwiftyBeaver.framework",
);
name = "[CP] Embed Pods Frameworks";
......@@ -1366,7 +1388,9 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Gloss.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PIATunnel.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QuickLayout.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftEntryKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyBeaver.framework",
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -1480,6 +1504,7 @@
0E392D901FE2FBBE0002160D /* GlossConnectivityStatus.swift in Sources */,
0EE771041F9D0DCA0029A77B /* Client+Configuration.swift in Sources */,
0E7BC6E81F96B1000035C8B2 /* Client+Preferences.swift in Sources */,
DDD824E82189C0EE00151709 /* BrandableNavigationBar.swift in Sources */,
0E53A8571FE5DA16000C2A18 /* MockInAppProvider.swift in Sources */,
0E392D9E1FE31D630002160D /* MockVPNProvider.swift in Sources */,
0E3A35331FD9E97E000B0F99 /* Macros.swift in Sources */,
......@@ -1556,6 +1581,7 @@
0E4D4E9E1FA4CA7A007DA6DA /* PurchasePlan.swift in Sources */,
0E2215CF2008DFD900F5FB4D /* SwiftGen+Assets.swift in Sources */,
0EE78AF21F8187F8002E4CDD /* LoginRequest.swift in Sources */,
DDD824E72189C0E800151709 /* BrandableNavigationBar.swift in Sources */,
84125E08213D7DFF001BCC19 /* PIAColors.swift in Sources */,
0EE78AF01F818767002E4CDD /* ClientError.swift in Sources */,
0E0E5B151F829EC500022CD0 /* UpdateAccountRequest.swift in Sources */,
......@@ -1595,6 +1621,7 @@
0EAA38981F9CC7E4000149CF /* AppStoreProduct.swift in Sources */,
0E1743131F82E1A4001E7DD6 /* Client.swift in Sources */,
0EE771031F9D0DCA0029A77B /* Client+Configuration.swift in Sources */,
DDD824E5218996CD00151709 /* Pages.swift in Sources */,
0E0E5B131F8297DE00022CD0 /* KeychainStore.swift in Sources */,
0E0E5B0D1F8297BD00022CD0 /* PlainStore.swift in Sources */,
0EE78AEE1F818720002E4CDD /* LibraryCallback.swift in Sources */,
......@@ -1628,6 +1655,7 @@
0EFEB4C12007784A00F81029 /* PIATunnelProvider+Profile.swift in Sources */,
0E392DA31FE3247E0002160D /* Endpoint.swift in Sources */,
0E53A8581FE5DA16000C2A18 /* MockInAppProvider.swift in Sources */,
DDD824E32189969400151709 /* Preset.swift in Sources */,
0E9D62721FDE83BD009A90CF /* GlossServersBundle.swift in Sources */,
0E492C6A1FE61485007F23DF /* Client+Database.swift in Sources */,
0E48A8531FDAD60900B9A4C0 /* OptionsViewController.swift in Sources */,
......@@ -1651,10 +1679,12 @@
0EB8C06D1F9CD38B005857E4 /* SignupInProgressViewController.swift in Sources */,
0ED1585A1FDC083F008F6522 /* SwiftGen+Strings.swift in Sources */,
0E2ADCE91FE0843000BB170C /* Macros+Pinger.swift in Sources */,
DDD824EA2189CD5700151709 /* NavigationLogoView.swift in Sources */,
0EFB512E1F82D7C50033B81F /* PIAWebServices.swift in Sources */,
0EB8C0641F9CD38B005857E4 /* ActivityButton.swift in Sources */,
0ED2B5131F82444E00C9DB2B /* Client+Preferences.swift in Sources */,
0EE78AF61F81880E002E4CDD /* Credentials.swift in Sources */,
DD8BF3CB219C6BAA0041357C /* ConfirmVPNPlanViewController.swift in Sources */,
0E53A83E1FE5A4C8000C2A18 /* Client+Daemons.swift in Sources */,
0E4D4EA01FA4CA7A007DA6DA /* Validator.swift in Sources */,
0E0E5B111F8297D200022CD0 /* UserDefaultsStore.swift in Sources */,
......
{
"images" : [
{
"idiom" : "universal",
"filename" : "backIconCopy-2.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "scanIcon.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "warningIcon.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "group3.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "oval3.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
......@@ -2,17 +2,7 @@
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "image-redeem-success@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "image-redeem-success@3x.png",
"scale" : "3x"
"filename" : "07IllustrationRedeemCompleted.pdf"
}
],
"info" : {
......
......@@ -12,8 +12,8 @@
"success.title" = "Purchase complete";
"success.message_format" = "Thank you for signing up with us. We have sent your account username and password at your email address at %@";
"success.redeem.title" = "Completed!";
"success.redeem.message" = "You will also receive an email shortly with your username and password.";
"success.redeem.title" = "Card redeemed successfully";
"success.redeem.message" = "You will receive an email shortly with your username and password.\n\nYour login details";
"success.username.caption" = "Username";
"success.password.caption" = "Password";
"success.submit" = "GET STARTED";
......
......@@ -23,14 +23,16 @@
"purchase.title" = "Select a VPN plan";
"purchase.subtitle" = "7-day money back guarantee";
"purchase.email.placeholder" = "Email address";
"purchase.submit" = "BUY NOW";
"purchase.continue" = "Continue";
"purchase.login.footer" = "Already have an account?";
"purchase.login.button" = "Sign in";
"purchase.error.title" = "Purchase";
"purchase.error.validation" = "You must enter an email address.";
"purchase.error.connectivity.title" = "Connection Failure";
"purchase.error.connectivity.description" = "We are unable to reach Private Internet Access. This may due to poor internet or our service is blocked in your country.";
"purchase.confirm.form.email" = "Enter your email address";
"purchase.confirm.plan" = "Your are purchasing the %@ plan";
"purchase.submit" = "Submit";
"redeem.title" = "Redeem gift card";
"redeem.subtitle" = "Type in your email address and the %lu digit PIN from your gift card or trial card below.";
......@@ -38,7 +40,11 @@
"redeem.submit" = "SUBMIT";
"redeem.error.title" = "Redeem";
"redeem.error.code" = "Code must be %lu numeric digits.";
"redeem.error.allfields"="Please type in your email and card PIN.";
"redeem.error.qrcode.invalid" = "Invalid QR code sequence. Please try again.";
"redeem.accessibility.back" = "Back";
"redeem.scanqr" = "Scan QR";
"redeem.giftcard.placeholder" = "Gift card PIN";
"plan.monthly.title" = "Monthly";
"plan.yearly.title" = "Yearly";
......
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