-
+ {{ $t('timeTravelers') }}
+ >
+ {{ $t('timeTravelers') }}
+
+
-
+
+
+
-
-
+
+
+
+ {{ $t('timeTravelers') }}
+
+
+
+
+
+
+ {{ $t('timeTravelersPopoverNoSubMobile') }}
+ >
+ {{ $t('timeTravelersPopoverNoSubMobile') }}
+
+
@@ -163,6 +191,7 @@ import _throttle from 'lodash/throttle';
import _groupBy from 'lodash/groupBy';
import _map from 'lodash/map';
import _find from 'lodash/find';
+import moment from 'moment';
import isPinned from '@/../../common/script/libs/isPinned';
import shops from '@/../../common/script/libs/shops';
import { mapState } from '@/libs/store';
@@ -233,15 +262,18 @@ export default {
userItems: 'user.data.items',
currentEventList: 'worldState.data.currentEventList',
}),
-
- closed () {
- return this.user.purchased.plan.consecutive.trinkets === 0;
+ isSubscribed () {
+ const now = new Date();
+ const { plan } = this.user.purchased;
+ return plan && plan.customerId
+ && (!plan.dateTerminated || moment(plan.dateTerminated).isAfter(now));
+ },
+ hasTrinket () {
+ return this.user.purchased.plan.consecutive.trinkets > 0;
},
-
shop () {
return shops.getTimeTravelersShop(this.user);
},
-
categories () {
const apiCategories = this.shop.categories;
@@ -302,10 +334,8 @@ export default {
}
});
this.currentEvent = _find(this.currentEventList, event => Boolean(['winter', 'spring', 'summer', 'fall'].includes(event.season)));
- if (!this.currentEvent || !this.currentEvent.season || this.currentEvent.season === 'thanksgiving' || this.closed) {
+ if (!this.currentEvent || !this.currentEvent.season || this.currentEvent.season === 'thanksgiving') {
this.imageURLs.background = 'url(/static/npc/normal/time_travelers_background.png)';
- this.imageURLs.npc = this.closed ? 'url(/static/npc/normal/time_travelers_closed_banner.png)'
- : 'url(/static/npc/normal/time_travelers_open_banner.png)';
} else {
this.imageURLs.background = `url(/static/npc/${this.currentEvent.season}/time_travelers_background.png)`;
this.imageURLs.npc = `url(/static/npc/${this.currentEvent.season}/time_travelers_open_banner.png)`;
diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json
index f4eba78f95..eb4fc803bd 100644
--- a/website/common/locales/en/subscriber.json
+++ b/website/common/locales/en/subscriber.json
@@ -32,7 +32,7 @@
"subGemName": "Subscriber Gems",
"maxBuyGems": "You have bought all the Gems you can this month. More become available within the first three days of each month. Thanks for subscribing!",
"timeTravelers": "Time Travelers",
- "timeTravelersPopoverNoSubMobile": "Looks like you’ll need a Mystic Hourglass to open the time portal and summon the Mysterious Time Travelers.",
+ "timeTravelersPopoverNoSubMobile": "Subscribers receive a rare Mystic Hourglass every month to use in the Time Travelers Shop!",
"timeTravelersPopover": "Your Mystic Hourglass has opened our time portal! Choose what you’d like us to fetch from the past or future.",
"mysticHourglassNeededNoSub": "This item requires a Mystic Hourglass. You earn Mystic Hourglasses by being a Habitica subscriber.",
"mysterySetNotFound": "Mystery set not found, or set already owned.",