diff --git a/HabitRPG/Generated/Storyboard Scenes.swift b/HabitRPG/Generated/Storyboard Scenes.swift index cc6e322e9..81a93176d 100644 --- a/HabitRPG/Generated/Storyboard Scenes.swift +++ b/HabitRPG/Generated/Storyboard Scenes.swift @@ -16,173 +16,173 @@ internal enum StoryboardScene { internal enum BuyModal: StoryboardType { internal static let storyboardName = "BuyModal" - internal static let initialScene = InitialSceneType(storyboard: BuyModal.self) + internal static let initialScene = InitialSceneType(storyboard: BuyModal.self) - internal static let hrpgBuyItemModalViewController = SceneType(storyboard: BuyModal.self, identifier: "HRPGBuyItemModalViewController") + internal static let hrpgBuyItemModalViewController = SceneType(storyboard: BuyModal.self, identifier: "HRPGBuyItemModalViewController") } internal enum Intro: StoryboardType { internal static let storyboardName = "Intro" - internal static let initialScene = InitialSceneType(storyboard: Intro.self) + internal static let initialScene = InitialSceneType(storyboard: Intro.self) - internal static let loginTableViewController = SceneType(storyboard: Intro.self, identifier: "LoginTableViewController") + internal static let loginTableViewController = SceneType(storyboard: Intro.self, identifier: "LoginTableViewController") } internal enum Main: StoryboardType { internal static let storyboardName = "Main" - internal static let aboutViewController = SceneType(storyboard: Main.self, identifier: "AboutViewController") + internal static let aboutViewController = SceneType(storyboard: Main.self, identifier: "AboutViewController") internal static let adventureGuideNavigationViewController = SceneType(storyboard: Main.self, identifier: "AdventureGuideNavigationViewController") - internal static let adventureGuideViewController = SceneType(storyboard: Main.self, identifier: "AdventureGuideViewController") + internal static let adventureGuideViewController = SceneType(storyboard: Main.self, identifier: "AdventureGuideViewController") - internal static let avatarOverviewViewController = SceneType(storyboard: Main.self, identifier: "AvatarOverviewViewController") + internal static let avatarOverviewViewController = SceneType(storyboard: Main.self, identifier: "AvatarOverviewViewController") - internal static let dailiesViewController = SceneType(storyboard: Main.self, identifier: "DailiesViewController") + internal static let dailiesViewController = SceneType(storyboard: Main.self, identifier: "DailiesViewController") - internal static let equipmentOverviewViewController = SceneType(storyboard: Main.self, identifier: "EquipmentOverviewViewController") + internal static let equipmentOverviewViewController = SceneType(storyboard: Main.self, identifier: "EquipmentOverviewViewController") - internal static let gemPurchaseViewController = SceneType(storyboard: Main.self, identifier: "GemPurchaseViewController") + internal static let gemPurchaseViewController = SceneType(storyboard: Main.self, identifier: "GemPurchaseViewController") - internal static let giftGemsNavController = SceneType(storyboard: Main.self, identifier: "GiftGemsNavController") + internal static let giftGemsNavController = SceneType(storyboard: Main.self, identifier: "GiftGemsNavController") - internal static let giftSubscriptionNavController = SceneType(storyboard: Main.self, identifier: "GiftSubscriptionNavController") + internal static let giftSubscriptionNavController = SceneType(storyboard: Main.self, identifier: "GiftSubscriptionNavController") - internal static let giftSubscriptionViewController = SceneType(storyboard: Main.self, identifier: "GiftSubscriptionViewController") + internal static let giftSubscriptionViewController = SceneType(storyboard: Main.self, identifier: "GiftSubscriptionViewController") - internal static let habitsViewController = SceneType(storyboard: Main.self, identifier: "HabitsViewController") + internal static let habitsViewController = SceneType(storyboard: Main.self, identifier: "HabitsViewController") internal static let itemNavigationController = SceneType(storyboard: Main.self, identifier: "ItemNavigationController") - internal static let itemsViewController = SceneType(storyboard: Main.self, identifier: "ItemsViewController") + internal static let itemsViewController = SceneType(storyboard: Main.self, identifier: "ItemsViewController") internal static let mainSplitViewController = SceneType(storyboard: Main.self, identifier: "MainSplitViewController") - internal static let mainTabBarController = SceneType(storyboard: Main.self, identifier: "MainTabBarController") + internal static let mainTabBarController = SceneType(storyboard: Main.self, identifier: "MainTabBarController") - internal static let mountDetailViewController = SceneType(storyboard: Main.self, identifier: "MountDetailViewController") + internal static let mountDetailViewController = SceneType(storyboard: Main.self, identifier: "MountDetailViewController") - internal static let mountsOverviewViewController = SceneType(storyboard: Main.self, identifier: "MountsOverviewViewController") + internal static let mountsOverviewViewController = SceneType(storyboard: Main.self, identifier: "MountsOverviewViewController") - internal static let newsViewController = SceneType(storyboard: Main.self, identifier: "NewsViewController") + internal static let newsViewController = SceneType(storyboard: Main.self, identifier: "NewsViewController") - internal static let notificationsNavigationController = SceneType(storyboard: Main.self, identifier: "NotificationsNavigationController") + internal static let notificationsNavigationController = SceneType(storyboard: Main.self, identifier: "NotificationsNavigationController") - internal static let petDetailViewController = SceneType(storyboard: Main.self, identifier: "PetDetailViewController") + internal static let petDetailViewController = SceneType(storyboard: Main.self, identifier: "PetDetailViewController") - internal static let petsOverviewViewController = SceneType(storyboard: Main.self, identifier: "PetsOverviewViewController") + internal static let petsOverviewViewController = SceneType(storyboard: Main.self, identifier: "PetsOverviewViewController") internal static let promoWebNavController = SceneType(storyboard: Main.self, identifier: "PromoWebNavController") - internal static let promoWebViewController = SceneType(storyboard: Main.self, identifier: "PromoWebViewController") + internal static let promoWebViewController = SceneType(storyboard: Main.self, identifier: "PromoWebViewController") internal static let promotionInfoNavController = SceneType(storyboard: Main.self, identifier: "PromotionInfoNavController") - internal static let promotionInfoViewController = SceneType(storyboard: Main.self, identifier: "PromotionInfoViewController") + internal static let promotionInfoViewController = SceneType(storyboard: Main.self, identifier: "PromotionInfoViewController") internal static let purchaseGemNavController = SceneType(storyboard: Main.self, identifier: "PurchaseGemNavController") - internal static let rewardsViewController = SceneType(storyboard: Main.self, identifier: "RewardsViewController") + internal static let rewardsViewController = SceneType(storyboard: Main.self, identifier: "RewardsViewController") internal static let spellUserNavigationController = SceneType(storyboard: Main.self, identifier: "SpellUserNavigationController") - internal static let stableViewController = SceneType(storyboard: Main.self, identifier: "StableViewController") + internal static let stableViewController = SceneType(storyboard: Main.self, identifier: "StableViewController") internal static let subscriptionNavController = SceneType(storyboard: Main.self, identifier: "SubscriptionNavController") - internal static let subscriptionViewController = SceneType(storyboard: Main.self, identifier: "SubscriptionViewController") + internal static let subscriptionViewController = SceneType(storyboard: Main.self, identifier: "SubscriptionViewController") internal static let taskBoardViewController = SceneType(storyboard: Main.self, identifier: "TaskBoardViewController") - internal static let todosViewController = SceneType(storyboard: Main.self, identifier: "TodosViewController") + internal static let todosViewController = SceneType(storyboard: Main.self, identifier: "TodosViewController") - internal static let avatarDetailViewController = SceneType(storyboard: Main.self, identifier: "avatarDetailViewController") + internal static let avatarDetailViewController = SceneType(storyboard: Main.self, identifier: "avatarDetailViewController") - internal static let oldAvatarDetailViewController = SceneType(storyboard: Main.self, identifier: "oldAvatarDetailViewController") + internal static let oldAvatarDetailViewController = SceneType(storyboard: Main.self, identifier: "oldAvatarDetailViewController") internal static let spellTaskNavigationController = SceneType(storyboard: Main.self, identifier: "spellTaskNavigationController") - internal static let tagNavigationController = SceneType(storyboard: Main.self, identifier: "tagNavigationController") + internal static let tagNavigationController = SceneType(storyboard: Main.self, identifier: "tagNavigationController") } internal enum Settings: StoryboardType { internal static let storyboardName = "Settings" - internal static let initialScene = InitialSceneType(storyboard: Settings.self) + internal static let initialScene = InitialSceneType(storyboard: Settings.self) internal static let classSelectionNavigationController = SceneType(storyboard: Settings.self, identifier: "ClassSelectionNavigationController") } internal enum Shop: StoryboardType { internal static let storyboardName = "Shop" - internal static let shopViewController = SceneType(storyboard: Shop.self, identifier: "ShopViewController") + internal static let shopViewController = SceneType(storyboard: Shop.self, identifier: "ShopViewController") } internal enum Social: StoryboardType { internal static let storyboardName = "Social" - internal static let challengeDetailViewController = SceneType(storyboard: Social.self, identifier: "ChallengeDetailViewController") + internal static let challengeDetailViewController = SceneType(storyboard: Social.self, identifier: "ChallengeDetailViewController") - internal static let challengeNavigationViewController = SceneType(storyboard: Social.self, identifier: "ChallengeNavigationViewController") + internal static let challengeNavigationViewController = SceneType(storyboard: Social.self, identifier: "ChallengeNavigationViewController") - internal static let challengeTableViewController = SceneType(storyboard: Social.self, identifier: "ChallengeTableViewController") + internal static let challengeTableViewController = SceneType(storyboard: Social.self, identifier: "ChallengeTableViewController") - internal static let groupChatViewController = SceneType(storyboard: Social.self, identifier: "GroupChatViewController") + internal static let groupChatViewController = SceneType(storyboard: Social.self, identifier: "GroupChatViewController") - internal static let groupTableViewController = SceneType(storyboard: Social.self, identifier: "GroupTableViewController") + internal static let groupTableViewController = SceneType(storyboard: Social.self, identifier: "GroupTableViewController") - internal static let guidelinesNavigationViewController = SceneType(storyboard: Social.self, identifier: "GuidelinesNavigationViewController") + internal static let guidelinesNavigationViewController = SceneType(storyboard: Social.self, identifier: "GuidelinesNavigationViewController") - internal static let guidelinesViewController = SceneType(storyboard: Social.self, identifier: "GuidelinesViewController") + internal static let guidelinesViewController = SceneType(storyboard: Social.self, identifier: "GuidelinesViewController") - internal static let guildsOverviewViewController = SceneType(storyboard: Social.self, identifier: "GuildsOverviewViewController") + internal static let guildsOverviewViewController = SceneType(storyboard: Social.self, identifier: "GuildsOverviewViewController") - internal static let inboxChatNavigationController = SceneType(storyboard: Social.self, identifier: "InboxChatNavigationController") + internal static let inboxChatNavigationController = SceneType(storyboard: Social.self, identifier: "InboxChatNavigationController") - internal static let inboxChatViewController = SceneType(storyboard: Social.self, identifier: "InboxChatViewController") + internal static let inboxChatViewController = SceneType(storyboard: Social.self, identifier: "InboxChatViewController") - internal static let inboxNavigationViewController = SceneType(storyboard: Social.self, identifier: "InboxNavigationViewController") + internal static let inboxNavigationViewController = SceneType(storyboard: Social.self, identifier: "InboxNavigationViewController") - internal static let inboxViewController = SceneType(storyboard: Social.self, identifier: "InboxViewController") + internal static let inboxViewController = SceneType(storyboard: Social.self, identifier: "InboxViewController") - internal static let partyNavigationViewController = SceneType(storyboard: Social.self, identifier: "PartyNavigationViewController") + internal static let partyNavigationViewController = SceneType(storyboard: Social.self, identifier: "PartyNavigationViewController") - internal static let partyViewController = SceneType(storyboard: Social.self, identifier: "PartyViewController") + internal static let partyViewController = SceneType(storyboard: Social.self, identifier: "PartyViewController") - internal static let questDetailViewController = SceneType(storyboard: Social.self, identifier: "QuestDetailViewController") + internal static let questDetailViewController = SceneType(storyboard: Social.self, identifier: "QuestDetailViewController") internal static let userProfileNavController = SceneType(storyboard: Social.self, identifier: "UserProfileNavController") - internal static let userProfileViewController = SceneType(storyboard: Social.self, identifier: "UserProfileViewController") + internal static let userProfileViewController = SceneType(storyboard: Social.self, identifier: "UserProfileViewController") } internal enum Support: StoryboardType { internal static let storyboardName = "Support" - internal static let initialScene = InitialSceneType(storyboard: Support.self) + internal static let initialScene = InitialSceneType(storyboard: Support.self) - internal static let faqDetailViewController = SceneType(storyboard: Support.self, identifier: "FAQDetailViewController") + internal static let faqDetailViewController = SceneType(storyboard: Support.self, identifier: "FAQDetailViewController") - internal static let faqViewController = SceneType(storyboard: Support.self, identifier: "FAQViewController") + internal static let faqViewController = SceneType(storyboard: Support.self, identifier: "FAQViewController") - internal static let mainSupportViewController = SceneType(storyboard: Support.self, identifier: "MainSupportViewController") + internal static let mainSupportViewController = SceneType(storyboard: Support.self, identifier: "MainSupportViewController") - internal static let reportBugViewController = SceneType(storyboard: Support.self, identifier: "ReportBugViewController") + internal static let reportBugViewController = SceneType(storyboard: Support.self, identifier: "ReportBugViewController") } internal enum Tasks: StoryboardType { internal static let storyboardName = "Tasks" internal static let taskDetailViewController = SceneType(storyboard: Tasks.self, identifier: "TaskDetailViewController") - internal static let taskFormViewController = SceneType(storyboard: Tasks.self, identifier: "TaskFormViewController") + internal static let taskFormViewController = SceneType(storyboard: Tasks.self, identifier: "TaskFormViewController") } internal enum User: StoryboardType { internal static let storyboardName = "User" - internal static let achievementsCollectionViewController = SceneType(storyboard: User.self, identifier: "AchievementsCollectionViewController") + internal static let achievementsCollectionViewController = SceneType(storyboard: User.self, identifier: "AchievementsCollectionViewController") - internal static let attributePointsViewController = SceneType(storyboard: User.self, identifier: "AttributePointsViewController") + internal static let attributePointsViewController = SceneType(storyboard: User.self, identifier: "AttributePointsViewController") - internal static let spellsViewController = SceneType(storyboard: User.self, identifier: "SpellsViewController") + internal static let spellsViewController = SceneType(storyboard: User.self, identifier: "SpellsViewController") - internal static let verifyUsernameModalViewController = SceneType(storyboard: User.self, identifier: "VerifyUsernameModalViewController") + internal static let verifyUsernameModalViewController = SceneType(storyboard: User.self, identifier: "VerifyUsernameModalViewController") } } // swiftlint:enable explicit_type_interface identifier_name line_length prefer_self_in_static_references diff --git a/HabitRPG/Generated/Strings.swift b/HabitRPG/Generated/Strings.swift index 304eaa92e..1d8147869 100644 --- a/HabitRPG/Generated/Strings.swift +++ b/HabitRPG/Generated/Strings.swift @@ -414,7 +414,7 @@ public enum L10n { public static var gameMechanics: String { return L10n.tr("Mainstrings", "game_mechanics") } /// Gems allow you to buy fun extras for your account, including: public static var gemBenefitsTitle: String { return L10n.tr("Mainstrings", "gem_benefits_title") } - /// %d Gem cap + /// Unlocks %d Gold-purchasable Gems per month public static func gemCap(_ p1: Int) -> String { return L10n.tr("Mainstrings", "gem_cap", p1) } @@ -1070,13 +1070,13 @@ public enum L10n { public static var subscriptionGiftButton: String { return L10n.tr("Mainstrings", "subscription_gift_button") } /// Want to give the benefits of a subscription to someone else? public static var subscriptionGiftExplanation: String { return L10n.tr("Mainstrings", "subscription_gift_explanation") } - /// You’ll be able to buy Gems from the Market for 20 gold each! + /// Get up to 50 Gems in the Market to buy Quests, Customizations, Pets, and more! public static var subscriptionInfo1Description: String { return L10n.tr("Mainstrings", "subscription_info_1_description") } - /// Gold for Gems + /// Free Monthly Gems public static var subscriptionInfo1Title: String { return L10n.tr("Mainstrings", "subscription_info_1_title") } - /// Earn Mystic Hourglasses to purchase items in the Time Traveler’s Shop! + /// Never miss an item with 1 Mystic Hourglass a month to use in the Time Travelers Shop! public static var subscriptionInfo2Description: String { return L10n.tr("Mainstrings", "subscription_info_2_description") } - /// Mystic Hourglasses + /// Monthly Mystic Hourglasses public static var subscriptionInfo2Title: String { return L10n.tr("Mainstrings", "subscription_info_2_title") } /// Subscribe now to get an exclusive set now and receive new items every month! public static var subscriptionInfo3Description: String { return L10n.tr("Mainstrings", "subscription_info_3_description") } @@ -1086,13 +1086,9 @@ public enum L10n { } /// Monthly Mystery Items public static var subscriptionInfo3Title: String { return L10n.tr("Mainstrings", "subscription_info_3_title") } - /// Receive the Royal Purple Jackalope pet when you become a new subscriber. - public static var subscriptionInfo4Description: String { return L10n.tr("Mainstrings", "subscription_info_4_description") } - /// Special Subscriber Pet - public static var subscriptionInfo4Title: String { return L10n.tr("Mainstrings", "subscription_info_4_title") } - /// Discover even more items in Habitica with a 2x bonus daily drop cap. + /// Get a Royal Purple Jackalope plus double the Eggs, Hatching Potions, and Food each day to grow your Pet collection! public static var subscriptionInfo5Description: String { return L10n.tr("Mainstrings", "subscription_info_5_description") } - /// Double the Drops + /// Special Pet & More Drops public static var subscriptionInfo5Title: String { return L10n.tr("Mainstrings", "subscription_info_5_title") } /// Choose the Subscription length that works for you public static var subscriptionOptionsTitle: String { return L10n.tr("Mainstrings", "subscription_options_title") } @@ -1174,6 +1170,8 @@ public enum L10n { public static var triadBingoTitle: String { return L10n.tr("Mainstrings", "triadBingoTitle") } /// Tuesday public static var tuesday: String { return L10n.tr("Mainstrings", "tuesday") } + /// +2 Gems each month + public static var twoGemsPerMonth: String { return L10n.tr("Mainstrings", "two_gems_per_month") } /// Two-Handed public static var twoHanded: String { return L10n.tr("Mainstrings", "twoHanded") } /// Unban User diff --git a/HabitRPG/HRPGModels/SubscriptionInformation.swift b/HabitRPG/HRPGModels/SubscriptionInformation.swift index e1a1d60b4..493b5802c 100644 --- a/HabitRPG/HRPGModels/SubscriptionInformation.swift +++ b/HabitRPG/HRPGModels/SubscriptionInformation.swift @@ -12,31 +12,28 @@ class SubscriptionInformation { static let titles: [String] = [ L10n.subscriptionInfo1Title, - L10n.Subscription.infoArmoireTitle, - L10n.subscriptionInfo2Title, L10n.subscriptionInfo3Title, + L10n.subscriptionInfo2Title, L10n.Subscription.infoFaintTitle, - L10n.subscriptionInfo4Title, + L10n.Subscription.infoArmoireTitle, L10n.subscriptionInfo5Title ] static let descriptions: [String] = [ L10n.subscriptionInfo1Description, - L10n.Subscription.infoArmoireDescription, - L10n.subscriptionInfo2Description, L10n.subscriptionInfo3Description, + L10n.subscriptionInfo2Description, L10n.Subscription.infoFaintDescription, - L10n.subscriptionInfo4Description, + L10n.Subscription.infoArmoireDescription, L10n.subscriptionInfo5Description ] static let images: [UIImage?] = [ Asset.subBenefitsGems.image, - Asset.subBenefitsArmoire.image, - Asset.subBenefitsHourglasses.image, nil, + Asset.subBenefitsHourglasses.image, Asset.subBenefitsFaint.image, - Asset.subBenefitsPet.image, + Asset.subBenefitsArmoire.image, Asset.subBenefitDrops.image ] } diff --git a/HabitRPG/Strings/Base.lproj/Mainstrings.strings b/HabitRPG/Strings/Base.lproj/Mainstrings.strings index 7cee6d7ec..5ef7c4f44 100644 --- a/HabitRPG/Strings/Base.lproj/Mainstrings.strings +++ b/HabitRPG/Strings/Base.lproj/Mainstrings.strings @@ -731,7 +731,8 @@ "gift_confirmation_body" = "You sent %@ a %@-month Habitica subscription."; "gift_subscription_prompt" = "Choose the subscription you’d like to gift below! This purchase won’t automatically renew."; "gift_gems_prompt" = "Want to bestow a shiny haul of Gems to someone else?"; -"gem_cap" = "%d Gem cap"; +"gem_cap" = "Unlocks %d Gold-purchasable Gems per month"; +"two_gems_per_month" = "+2 Gems each month"; "hourglass_count" = "+%d Mystic Hourglass"; "intro.welcome_prompt" = "What should we call you?"; "intro.welcome_speechbubble" = "Oh, you must be new here. I’m Justin, your guide to Habitica.\n\nFirst, what should we call you? Feel free to change what I picked. When you’re all set, let’s create your avatar!"; @@ -933,17 +934,15 @@ "publish_challenge" = "Publish Challenge"; "view_participant_progress" = "View Participant Progress"; "end_challenge" = "End Challenge"; -"subscription_info_1_title" = "Gold for Gems"; -"subscription_info_1_description" = "You’ll be able to buy Gems from the Market for 20 gold each!"; -"subscription_info_2_title" = "Mystic Hourglasses"; -"subscription_info_2_description" = "Earn Mystic Hourglasses to purchase items in the Time Traveler’s Shop!"; +"subscription_info_1_title" = "Free Monthly Gems"; +"subscription_info_1_description" = "Get up to 50 Gems in the Market to buy Quests, Customizations, Pets, and more!"; +"subscription_info_2_title" = "Monthly Mystic Hourglasses"; +"subscription_info_2_description" = "Never miss an item with 1 Mystic Hourglass a month to use in the Time Travelers Shop!"; "subscription_info_3_title" = "Monthly Mystery Items"; "subscription_info_3_description" = "Subscribe now to get an exclusive set now and receive new items every month!"; "subscription_info_3_description_new" = "Subscribe now to get this %@ set now and receive new items every month!"; -"subscription_info_4_title" = "Special Subscriber Pet"; -"subscription_info_4_description" = "Receive the Royal Purple Jackalope pet when you become a new subscriber."; -"subscription_info_5_title" = "Double the Drops"; -"subscription_info_5_description" = "Discover even more items in Habitica with a 2x bonus daily drop cap."; +"subscription_info_5_title" = "Special Pet & More Drops"; +"subscription_info_5_description" = "Get a Royal Purple Jackalope plus double the Eggs, Hatching Potions, and Food each day to grow your Pet collection!"; "subscription.info_armoire_title" = "Extra Armoire chances"; "subscription.info_armoire_description" = "Get two chances at new equipment from the Armoire for the price of one"; "subscription.info_faint_title" = "Second chance at life"; diff --git a/HabitRPG/TableviewCells/SubscriptionOptionView.swift b/HabitRPG/TableviewCells/SubscriptionOptionView.swift index 662eb4197..d46b417f3 100644 --- a/HabitRPG/TableviewCells/SubscriptionOptionView.swift +++ b/HabitRPG/TableviewCells/SubscriptionOptionView.swift @@ -37,7 +37,7 @@ class SubscriptionOptionView: UITableViewCell { setMonthCount(6) case PurchaseHandler.subscriptionIdentifiers[3]: setMonthCount(12) - flagView.text = "Save 20%" + flagView.text = "Popular" flagView.textColor = .white flagView.isHidden = false default: @@ -84,16 +84,16 @@ class SubscriptionOptionView: UITableViewCell { switch count { case 1: setGemCap(25) - setHourglassCount(0) + showGemsPerMonth(true) case 3: - setGemCap(30) - setHourglassCount(1) + setGemCap(25) + showGemsPerMonth(true) case 6: - setGemCap(35) - setHourglassCount(2) + setGemCap(25) + showGemsPerMonth(true) case 12: - setGemCap(45) - setHourglassCount(4) + setGemCap(50) + showGemsPerMonth(false) default: break } @@ -103,9 +103,12 @@ class SubscriptionOptionView: UITableViewCell { gemCapLabel.text = L10n.gemCap(count) } - func setHourglassCount(_ count: Int) { - // swiftlint:disable:next empty_count - mysticHourglassLabel.isHidden = count == 0 - mysticHourglassLabel.text = L10n.hourglassCount(count) + private func showGemsPerMonth(_ show: Bool) { + if show { + mysticHourglassLabel.isHidden = false + mysticHourglassLabel.text = L10n.twoGemsPerMonth + } else { + mysticHourglassLabel.isHidden = true + } } } diff --git a/HabitRPG/UI/Purchases/SubscriptionPage.swift b/HabitRPG/UI/Purchases/SubscriptionPage.swift index c51a15d5c..b7d3c0b98 100644 --- a/HabitRPG/UI/Purchases/SubscriptionPage.swift +++ b/HabitRPG/UI/Purchases/SubscriptionPage.swift @@ -315,17 +315,17 @@ struct SubscriptionPage: View { if viewModel.presentationPoint != .gemForGold { SubscriptionBenefitView(icon: Image(Asset.subBenefitsGems.name), title: Text(L10n.subscriptionInfo1Title), description: Text(L10n.subscriptionInfo1Description)) } - if viewModel.presentationPoint != .armoire { - SubscriptionBenefitView(icon: Image(Asset.subBenefitsArmoire.name), title: Text(L10n.Subscription.infoArmoireTitle), description: Text(L10n.Subscription.infoArmoireDescription)) - } + SubscriptionBenefitView(icon: PixelArtView(name: "shop_set_mystery_\(viewModel.mysteryGear?.key?.split(separator: "_").last ?? "")"), title: Text(L10n.subscriptionInfo3Title), description: Text(L10n.subscriptionInfo3Description)) + if viewModel.presentationPoint != .timetravelers { SubscriptionBenefitView(icon: Image(Asset.subBenefitsHourglasses.name), title: Text(L10n.subscriptionInfo2Title), description: Text(L10n.subscriptionInfo2Description)) } - SubscriptionBenefitView(icon: PixelArtView(name: "shop_set_mystery_\(viewModel.mysteryGear?.key?.split(separator: "_").last ?? "")"), title: Text(L10n.subscriptionInfo3Title), description: Text(L10n.subscriptionInfo3Description)) if viewModel.presentationPoint != .faint { SubscriptionBenefitView(icon: Image(Asset.subBenefitsFaint.name), title: Text(L10n.Subscription.infoFaintTitle), description: Text(L10n.Subscription.infoFaintDescription)) } - SubscriptionBenefitView(icon: Image(Asset.subBenefitsPet.name), title: Text(L10n.subscriptionInfo4Title), description: Text(L10n.subscriptionInfo4Description)) + if viewModel.presentationPoint != .armoire { + SubscriptionBenefitView(icon: Image(Asset.subBenefitsArmoire.name), title: Text(L10n.Subscription.infoArmoireTitle), description: Text(L10n.Subscription.infoArmoireDescription)) + } SubscriptionBenefitView(icon: Image(Asset.subBenefitDrops.name), title: Text(L10n.subscriptionInfo5Title), description: Text(L10n.subscriptionInfo5Description)).padding(.bottom, 20) if !viewModel.isSubscribed { diff --git a/HabitRPG/UI/Purchases/SubscriptionViewController.swift b/HabitRPG/UI/Purchases/SubscriptionViewController.swift index 8350671a6..5f50bee5d 100644 --- a/HabitRPG/UI/Purchases/SubscriptionViewController.swift +++ b/HabitRPG/UI/Purchases/SubscriptionViewController.swift @@ -328,7 +328,7 @@ class SubscriptionViewController: BaseTableViewController { fatalError() } cell.title = SubscriptionInformation.titles[indexPath.item] - if indexPath.item == 3 && mysteryGear != nil { + if indexPath.item == 1 && mysteryGear != nil { cell.descriptionText = L10n.subscriptionInfo3DescriptionNew(mysteryGear?.text ?? "") ImageManager.getImage(name: "shop_set_mystery_\(mysteryGear?.key?.split(separator: "_").last ?? "")") { (image, _) in cell.iconView.image = image