-
+
+
+
-
+
+
-
- {{ $t('youAreSubscribed') }}
-
-
- {{ $t('youHaveGroupPlan') }}
-
-
-
-
-
- {{ $t('needToUpdateCard') }}
+ class="svg-icon flip"
+ v-html="icons.purpleStars"
+ >
-
+
+
+
+
+
+
+
+
+
+
+
{{ $t('buyGemsGold') }}
+
{{ $t('subscriptionBenefit1') }}
+
+
+
+
+
+
+
+
{{ $t('monthlyMysteryItems') }}
+
{{ $t('subscriptionBenefit4', {
+ month,
+ currentMysterySetName,
+ }) }}
+
+
+
+
+
+
{{ $t('mysticHourglassesTooltip') }}
+
{{ $t('subscriptionBenefit6') }}
+
+
+
+
+
+
{{ $t('exclusiveJackalopePet') }}
+
{{ $t('subscriptionBenefit5') }}
+
+
+
+
+
+
{{ $t('doubleDropCap') }}
+
{{ $t('subscriptionBenefit3') }}
+
+
+
+
+
+
+
+
+ {{ $t('subscription') }}
+
+
+
+
-
{{ $t('subUpdateCard') }}
-
-
-
-
-
-
-
-
+
+
+ {{ $t('youAreSubscribed') }}
+
+ v-if="hasGroupPlan"
+ class="mx-5 mb-4 text-center"
+ >
+ {{ $t('youHaveGroupPlan') }}
+
+
+
+
+
+ {{ $t('needToUpdateCard') }}
+
+
+
+
+
+
-
- {{ $t('youAreSubscribed') }}
-
-
- {{ $t('haveNonRecurringSub') }}
-
-
+
+
+
+ {{ $t('youAreSubscribed') }}
+
+
+
+ {{ $t('haveNonRecurringSub') }}
+
+
+
+
+
+ {{ $t('switchToRecurring') }}
+
+
+ {{ $t('continueGiftSubBenefits') }}
+
+
+
+
+
+
+ {{ $t('subscriptionCanceled') }}
+
+
-
+
+
{{ $t('readyToResubscribe') }}
+
-
- {{ $t('switchToRecurring') }}
-
-
- {{ $t('continueGiftSubBenefits') }}
-
-
-
-
-
+
+
+
+
+
+
+
+ {{ user.purchased.plan.consecutive.count }}
+
+
+
+ {{ $t('subMonths') }}
+
+
+
+
+
+
+ {{ $t('gemCap') }}
+
+
+
+
+
+
+
+
+ {{ nextHourGlass }}
+
+
+
+ {{ $t('nextHourglass') }}*
+
+
+
-
-
- {{ $t('subscriptionCanceled') }}
-
-
-
-
{{ $t('readyToResubscribe') }}
-
-
-
-
-
-
-
-
-
-
- {{ user.purchased.plan.consecutive.count }}
-
-
-
- {{ $t('subMonths') }}
-
-
-
-
-
-
- {{ $t('gemCap') }}
-
-
-
-
-
-
-
-
- {{ nextHourGlass }}
-
-
-
- {{ $t('nextHourglass') }}*
-
+ class="mt-4 nextHourglassDescription"
+ >
+ *{{ $t('nextHourglassDescription') }}
-
-
- *{{ $t('nextHourglassDescription') }}
-
-
-
-
-
-
- {{ $t('giftSubscriptionText4') }}
+
+
+
+
+ {{ $t('giftSubscriptionText4') }}
+
-
-
-
-
- {{ $t('cancelYourSubscription') }}
-
-
- {{ $t('cancelSubInfoGroupPlan') }}
-
-
-
-
-
-
- {{ $t('cancelSub') }}
-
-
-
-
+
+
+ {{ $t('cancelYourSubscription') }}
+
+
+ {{ $t('cancelSubInfoGroupPlan') }}
+
+
+
+
+
+
+ {{ $t('cancelSub') }}
+
+
-
- {{ $t('giftSubscription') }}
+
+
+
+
+
+
+
+ {{ $t('giftSubscription') }}
+
+
-
- {{ $t('giftASubscription') }}
-
@@ -360,8 +402,13 @@
color: $purple-200;
}
+ h3 {
+ line-height: 24px;
+ }
+
p {
- max-width: 21rem;
+ margin-bottom: 0px;
+ line-height: 24px;
}
small {
@@ -374,22 +421,14 @@
font-size: 16px;
}
- .bg-green-10 {
- background-color: $green-10;
- }
-
- .bg-gray-300 {
- background-color: $gray-300;
- }
-
- .bg-gray-700 {
- background-color: $gray-700;
- }
-
.block-header {
- color: $purple-200;
- letter-spacing: 0.25rem;
- font-size: 20px;
+ letter-spacing: 1ch;
+ font-weight: 700;
+ top: 24px;
+ }
+
+ .btn-secondary {
+ width: 448px;
}
.btn-update-card {
@@ -419,20 +458,19 @@
border: 1px solid $green-50;
}
- .flex-spacer {
- width: 4rem;
+ .final-header {
+ margin-bottom: 70px;
}
- .gray-10 {
- color: $gray-10;
+ .flip {
+ filter: flipH;
+ transform: scaleX(-1);
}
- .gray-50 {
- color: $gray-50;
- }
-
- .green-10 {
- color: $green-10;
+ .gradient-swoop {
+ background-image: url('@/assets/svg/gradient-swoop.svg');
+ height: 274px;
+ width: 1440px;
}
.header-mini {
@@ -440,21 +478,10 @@
font-weight: bold;
}
- .image-foods {
- background: url(~@/assets/images/subscriber-food.png);
- background-size: contain;
- width: 46px;
- height: 49px;
- }
-
.lh-71 {
line-height: 1.71;
}
- .maroon-50 {
- color: $maroon-50;
- }
-
.muted {
font-size: 14px;
color: $gray-200;
@@ -467,9 +494,14 @@
color: $gray-50;
}
- .Pet-Jackalope-RoyalPurple {
- margin-top: -1.75rem;
- transform: scale(0.75);
+ .position-absolute {
+ position: absolute;
+ }
+
+ .purple-bar {
+ background-color: $purple-400;
+ height: 1px;
+ width: 432px;
}
.round-container {
@@ -494,11 +526,10 @@
background-color: $gray-500;
}
- .subscribe-card {
- width: 28rem;
+ .sub-benefit {
+ width: 94px;
+ height: 94px;
border-radius: 8px;
- box-shadow: 0 2px 2px 0 rgba(26, 24, 29, 0.16), 0 1px 4px 0 rgba(26, 24, 29, 0.12);
- background-color: $white;
}
.svg-amazon-pay {
@@ -517,11 +548,6 @@
margin-right: 2px;
}
- .svg-heart {
- width: 24px;
- height: 24px;
- }
-
.svg-check {
width: 36px;
color: $white;
@@ -542,6 +568,11 @@
height: 16px;
}
+ .svg-food {
+ width: 60px;
+ height: 58px;
+ }
+
.svg-gem {
width: 24px;
height: 24px;
@@ -550,8 +581,13 @@
}
.svg-gems {
- width: 42px;
- height: 52px;
+ width: 54px;
+ height: 54px;
+ }
+
+ .svg-gift-box {
+ width: 24px;
+ height: 24px;
}
.svg-google-pay {
@@ -559,6 +595,11 @@
height: 40px;
}
+ .svg-heart {
+ width: 24px;
+ height: 24px;
+ }
+
.svg-hourglass {
width: 24px;
height: 24px;
@@ -566,14 +607,14 @@
margin-right: 2px;
}
- .svg-gift-box {
- width: 32px;
- height: 32px;
+ .svg-hourglasses {
+ width: 39px;
+ height: 54px;
}
- .svg-hourglasses {
- width: 43px;
- height: 53px;
+ .svg-jackalope {
+ width: 38px;
+ height: 44px;
}
.svg-logo {
@@ -586,6 +627,10 @@
height: 40px;
}
+ .w-330p {
+ width: 330px;
+ }
+
.w-55 {
width: 55%;
}
@@ -635,15 +680,20 @@ import calendarIcon from '@/assets/svg/calendar-purple.svg';
import checkmarkIcon from '@/assets/svg/check.svg';
import closeIcon from '@/assets/svg/close.svg';
import creditCardIcon from '@/assets/svg/credit-card-icon.svg';
+import dividerStars from '@/assets/svg/divider-stars.svg';
import gemIcon from '@/assets/svg/gem.svg';
import giftBox from '@/assets/svg/gift-purple.svg';
import googlePayLogo from '@/assets/svg/google-pay-logo.svg';
import heartIcon from '@/assets/svg/health.svg';
import hourglassIcon from '@/assets/svg/hourglass.svg';
+import jackalope from '@/assets/svg/jackalope.svg';
import logo from '@/assets/svg/habitica-logo-purple.svg';
import paypalLogo from '@/assets/svg/paypal-logo.svg';
+import purpleStars from '@/assets/svg/stars-purple.svg';
+import subscriberFood from '@/assets/svg/subscriber-food.svg';
import subscriberGems from '@/assets/svg/subscriber-gems.svg';
import subscriberHourglasses from '@/assets/svg/subscriber-hourglasses.svg';
+import wordmark from '@/assets/svg/habitica-logo.svg';
export default {
components: {
@@ -678,15 +728,20 @@ export default {
checkmarkIcon,
closeIcon,
creditCardIcon,
+ dividerStars,
gemIcon,
giftBox,
googlePayLogo,
heartIcon,
hourglassIcon,
+ jackalope,
logo,
paypalLogo,
+ purpleStars,
+ subscriberFood,
subscriberGems,
subscriberHourglasses,
+ wordmark,
}),
};
},
@@ -766,6 +821,12 @@ export default {
&& !this.hasGroupPlan
);
},
+ month () {
+ return moment().format('MMMM');
+ },
+ currentMysterySetName () {
+ return this.$t(`mysterySet${moment().format('YYYYMM')}`);
+ },
currentMysterySet () {
return `shop_set_mystery_${moment().format('YYYYMM')}`;
},
diff --git a/website/client/src/components/settings/subscriptionOptions.vue b/website/client/src/components/settings/subscriptionOptions.vue
index 491bf18f96..17fe9773f1 100644
--- a/website/client/src/components/settings/subscriptionOptions.vue
+++ b/website/client/src/components/settings/subscriptionOptions.vue
@@ -1,17 +1,32 @@
-
@@ -207,8 +210,11 @@ export default {
if (!this.currentEvent || !this.currentEvent.promo) return 'none';
return this.currentEvent.promo;
},
+ maxWidthView () {
+ return this.$route.name === 'subscription';
+ },
applyNarrowView () {
- return !['subscription', 'transactions'].includes(this.$route.name);
+ return !this.maxWidthView && this.$route.name !== 'transactions';
},
},
methods: {
diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json
index 4a805882b8..cc6ed07afb 100644
--- a/website/common/locales/en/subscriber.json
+++ b/website/common/locales/en/subscriber.json
@@ -7,12 +7,12 @@
"howManyGemsSend":"How many Gems would you like to send?",
"needToPurchaseGems": "Need to purchase Gems as a gift?",
"wantToSendOwnGems": "Want to send your own Gems?",
- "buyGemsGold": "Buy Gems with Gold",
+ "buyGemsGold": "Free Monthly Gems",
"mustSubscribeToPurchaseGems": "Must subscribe to purchase gems with GP",
"reachedGoldToGemCapQuantity": "Your requested amount <%= quantity %> exceeds the amount you can buy for this month (<%= convCap %>). The full amount becomes available within the first three days of each month. Thanks for subscribing!",
"mysteryItem": "Exclusive monthly items",
"mysteryItemText": "Each month you will receive a unique cosmetic item for your avatar! Plus, for every three months of consecutive subscription, the Mysterious Time Travelers will grant you access to historic (and futuristic!) cosmetic items.",
- "exclusiveJackalopePet": "Exclusive pet",
+ "exclusiveJackalopePet": "Special Pet",
"giftSubscription": "Want to gift the benefits of a subscription to someone else?",
"giftASubscription": "Gift a Subscription",
"giftSubscriptionText4": "Thanks for supporting Habitica!",
@@ -199,22 +199,24 @@
"choosePaymentMethod": "Choose your payment method",
"support": "Support",
"supportHabitica": "Support Habitica",
+ "subscribeTo": "Subscribe To",
"gemBenefitLeadin": "What can you buy with Gems?",
"gemBenefit1": "Unique and fashionable costumes for your avatar.",
"gemBenefit2": "Backgrounds to immerse your avatar in the world of Habitica!",
"gemBenefit3": "Exciting Quest chains that drop pet eggs.",
"gemBenefit4": "Reset your avatar's Stat Points and change its Class.",
"usuallyGems": "Usually <%= originalGems %>",
- "subscriptionBenefit1": "Alexander the Merchant will now sell you Gems from the Market for 20 Gold each!",
- "subscriptionBenefit3": "Discover even more items in Habitica with a 2x daily drop-cap.",
- "subscriptionBenefit4": "Unique cosmetic item for you to decorate your avatar each month.",
- "subscriptionBenefit5": "Receive the Royal Purple Jackalope pet when you become a new subscriber.",
- "subscriptionBenefit6": "Earn Mystic Hourglasses to purchase items in the Time Traveler’s Shop!",
+ "subscriptionBenefit1": "Get up to 50 Gold-purchasable Gems in the Market to buy Quests, Customizations, Pets, and more!",
+ "subscriptionBenefit3": "Find double the Eggs, Hatching Potions, and Food each day to grow your Pet collection!",
+ "subscriptionBenefit4": "Stay decked out in the latest exclusive gear. Subscribe now to get <%= month %>’s <%= currentMysterySetName %>!",
+ "subscriptionBenefit5": "Get the exclusive Royal Purple Jackalope when you subscribe today!",
+ "subscriptionBenefit6": "Never miss an item with 1 Mystic Hourglass a month to use in the Time Travelers Shop!",
"purchaseAll": "Purchase Set",
"gemsRemaining": "remaining",
"notEnoughGemsToBuy": "No more Gems available for purchase this month. More will become available within the first 3 days of each month.",
- "subscribersReceiveBenefits": "Subscribers receive these useful benefits!",
- "monthlyMysteryItems": "Monthly Mystery Items",
+ "subscribersReceiveBenefits": "Stay motivated with even more rewards when you subscribe",
+ "monthlyMysteryItems": "Limited Monthly Gear Sets",
+ "monthlyMysticHourglass": "Monthly Mystic Hourglass",
"doubleDropCap": "Double the Drops",
"youAreSubscribed": "You are subscribed to Habitica",
"dropCapReached": "You found all items for the day!",
@@ -233,7 +235,15 @@
"sendAGift": "Send Gift",
"haveNonRecurringSub": "You have a non-recurring gift subscription.",
"switchToRecurring": "Switch to a recurring subscription?",
+ "recurringMonthly": "Recurring every month",
+ "recurringNMonthly": "Recurring every <%= length %> months",
+ "unlockNGems": "Unlock
<%= count %> Gems per month instantly",
+ "earn2Gems": "Earn
+2 Gems every month you're subscribed",
+ "maxGemCap": "Max
Gem Cap",
"continueGiftSubBenefits": "Want to continue your benefits? You can start a new subscription before your gifted one runs out to keep your benefits active.",
"subscriptionCreditConversion": "Starting a new subscription will convert any remaining months to credit that will be used after the recurring subscription is canceled.",
- "monthlyGems": "Monthly Gems:"
+ "monthlyGems": "Monthly Gems:",
+ "popular": "Popular",
+ "immediate12Hourglasses": "Get
12 Mystic Hourglasses immediately after your first 12-month subscription!",
+ "subscribe": "Subscribe"
}