mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
Redesign: Static and Modal Fixes (#9007)
* fix(static-page): Community Manager links * feat(modals): Bailey news * feat(footer): link to Hall of Heroes Also makes a number of strings translatable instead of hardcoded. * fix(notifications): simplify drop messages
This commit is contained in:
@@ -1,29 +1,67 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
b-modal#new-stuff(v-if='user.flags.newStuff', :title="$t('newStuff')", size='lg', :hide-footer="true")
|
b-modal#new-stuff(
|
||||||
.modal-body.new-stuff-modal
|
v-if='user.flags.newStuff',
|
||||||
h3.text-center
|
size='lg',
|
||||||
| {{ this.$t('newStuff') }} by
|
:hide-header='true',
|
||||||
a(target='_blank', href='https://twitter.com/Mihakuu') Bailey
|
:hide-footer='true',
|
||||||
div(:class="baileyClass")
|
)
|
||||||
div(v-html='latestBaileyMessage')
|
.modal-body
|
||||||
|
.media
|
||||||
|
.media-body
|
||||||
|
.media
|
||||||
|
.align-self-center.right-margin(:class='baileyClass')
|
||||||
|
.media-body
|
||||||
|
h1.align-self-center(v-markdown='$t("newStuff")')
|
||||||
|
h2 8/30/2017 - LAST CHANCE FOR LAVA WARRIOR SET AND EMBER HATCHING POTIONS
|
||||||
|
hr
|
||||||
|
.media
|
||||||
|
.promo_mystery_201708.right-margin.align-self-center
|
||||||
|
.media-body
|
||||||
|
h3 Last Chance for Lava Warrior Set
|
||||||
|
p Reminder: you only have three days to <a href='/settings/subscription'>subscribe</a> and receive the Lava Warrior Set! Subscribing also lets you buy gems for gold. The longer your subscription, the more gems you get!
|
||||||
|
p Thanks so much for your support! You help keep Habitica running.
|
||||||
|
p.small.muted by Lemoness
|
||||||
|
h3 Last Chance for Ember Hatching Potions
|
||||||
|
p Reminder: there are three days left to <a href='/shops/market'>buy Ember Hatching Potions</a>! If they come back, it won't be until next year at the earliest, so don't delay!
|
||||||
|
p.small.muted by Balduranne, tricksy.fox, and SabreCat
|
||||||
|
.promo_ember_potions.left-margin.align-self-center
|
||||||
.modal-footer
|
.modal-footer
|
||||||
a.btn.btn-info(href='http://habitica.wikia.com/wiki/Whats_New', target='_blank') {{ this.$t('newsArchive') }}
|
a.btn.btn-info(href='http://habitica.wikia.com/wiki/Whats_New', target='_blank') {{ this.$t('newsArchive') }}
|
||||||
button.btn.btn-default(@click='close()') {{ this.$t('cool') }}
|
button.btn.btn-default(@click='close()') {{ this.$t('cool') }}
|
||||||
button.btn.btn-warning(@click='dismissAlert();') {{ this.$t('dismissAlert') }}
|
button.btn.btn-warning(@click='dismissAlert();') {{ this.$t('dismissAlert') }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style lang='scss' scoped>
|
||||||
|
@import '~client/assets/scss/static.scss';
|
||||||
|
|
||||||
|
.modal-body {
|
||||||
|
padding-top: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-margin {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-margin {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import axios from 'axios';
|
|
||||||
import bModal from 'bootstrap-vue/lib/components/modal';
|
import bModal from 'bootstrap-vue/lib/components/modal';
|
||||||
import { mapState } from 'client/libs/store';
|
import { mapState } from 'client/libs/store';
|
||||||
|
import markdown from 'client/directives/markdown';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
bModal,
|
bModal,
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState({user: 'user.data'}),
|
||||||
|
},
|
||||||
data () {
|
data () {
|
||||||
let worldDmg = {
|
let worldDmg = {
|
||||||
bailey: true,
|
bailey: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -33,12 +71,8 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
directives: {
|
||||||
...mapState({user: 'user.data'}),
|
markdown,
|
||||||
async latestBaileyMessage () {
|
|
||||||
let message = await axios.get('/new-stuff');
|
|
||||||
return message;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
close () {
|
close () {
|
||||||
|
|||||||
@@ -6,62 +6,62 @@
|
|||||||
.row
|
.row
|
||||||
.col-2
|
.col-2
|
||||||
h3
|
h3
|
||||||
a(href='https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8', target='_blank') iOS App
|
a(href='https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8', target='_blank') {{ $t('mobileIOS') }}
|
||||||
h3
|
h3
|
||||||
a(href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica', target='_blank') Android App
|
a(href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica', target='_blank') {{ $t('mobileAndroid') }}
|
||||||
.col-2
|
.col-2
|
||||||
h3 Company
|
h3 Company
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
a(href='/static/features') How it Works
|
a(href='/static/features') {{ $t('companyAbout') }}
|
||||||
li
|
li
|
||||||
a(href='https://habitica.wordpress.com/') Blog
|
a(href='https://habitica.wordpress.com/', target='_blank') {{ $t('companyBlog') }}
|
||||||
li
|
li
|
||||||
a(href='http://blog.habitrpg.com/') Tumblr
|
a(href='http://blog.habitrpg.com/', target='_blank') {{ $t('Tumblr') }}
|
||||||
li
|
li
|
||||||
a(href='/static/faq') FAQ
|
a(href='/static/faq') {{ $t('FAQ') }}
|
||||||
li
|
li
|
||||||
a(href='/static/old-news') News
|
a(href='http://habitica.wikia.com/wiki/Whats_New', target='_blank') {{ $t('oldNews') }}
|
||||||
li
|
li
|
||||||
a(href='/static/merch') Merchandise
|
a(href='/static/merch') {{ $t('merch') }}
|
||||||
li
|
li
|
||||||
a(href='/static/press-kit') Press Kit
|
a(href='/static/press-kit') {{ $t('presskit') }}
|
||||||
li
|
li
|
||||||
a(href='/static/contact') Contact Us
|
a(href='/static/contact') {{ $t('contactUs') }}
|
||||||
.col-2
|
.col-2
|
||||||
h3 Community
|
h3 Community
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
a(href='/static/community-guidelines') Community Guidelines
|
a(href='/static/community-guidelines') {{ $t('communityGuidelines') }}
|
||||||
li
|
li
|
||||||
router-link(to='/groups/a29da26b-37de-4a71-b0c6-48e72a900dac') Submit a Bug
|
a(href='/hall') {{ $t('hall') }}
|
||||||
li
|
li
|
||||||
a(href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents', target='_blank') Request a Feature
|
router-link(to='/groups/a29da26b-37de-4a71-b0c6-48e72a900dac') {{ $t('reportBug') }}
|
||||||
li
|
li
|
||||||
a(href='http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations', target='_blank') Add-Ons & Extensions
|
a(href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents', target='_blank') {{ $t('requestFeature') }}
|
||||||
li
|
li
|
||||||
a(href='http://habitica.wikia.com/wiki/Special:Forum', target='_blank') Forum
|
a(v-html='$t("communityExtensions")')
|
||||||
li
|
li
|
||||||
a(href='https://www.kickstarter.com/projects/lefnire/habitrpg-mobile', target='_blank') Kickstarter
|
a(v-html='$t("communityForum")')
|
||||||
li
|
li
|
||||||
a(href='https://www.facebook.com/Habitica', target='_blank') Facebook
|
a(href='https://www.facebook.com/Habitica', target='_blank') {{ $t('communityFacebook') }}
|
||||||
li
|
li
|
||||||
a(href='https://www.reddit.com/r/habitrpg/', target='_blank') Reddit
|
a(href='https://www.reddit.com/r/habitrpg/', target='_blank') {{ $t('communityReddit') }}
|
||||||
.col-6
|
.col-6
|
||||||
.row
|
.row
|
||||||
.col-6
|
.col-6
|
||||||
h3 Developers
|
h3 Developers
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
a(href='/apidoc', target='_blank') APIv3
|
a(href='/apidoc', target='_blank') {{ $t('APIv3') }}
|
||||||
li
|
li
|
||||||
a(href='http://data.habitrpg.com/?uuid=', target='_blank') Data Display Tool
|
a(href='http://data.habitrpg.com/?uuid=', target='_blank') {{ $t('dataDisplayTool') }}
|
||||||
li
|
li
|
||||||
a(href='http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths', target='_blank') Guidance for Blacksmiths
|
a(href='http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths', target='_blank') {{ $t('guidanceForBlacksmiths') }}
|
||||||
li
|
li
|
||||||
a(href='http://devs.habitica.com/', target='_blank') The Forge - Developer Blog
|
a(href='http://devs.habitica.com/', target='_blank') {{ $t('devBlog') }}
|
||||||
.col-6.social
|
.col-6.social
|
||||||
h3 Social
|
h3 {{ $t('footerSocial') }}
|
||||||
.social-circle
|
.social-circle
|
||||||
a(href='https://twitter.com/habitica', target='_blank')
|
a(href='https://twitter.com/habitica', target='_blank')
|
||||||
.social-icon.svg-icon(v-html='icons.twitter')
|
.social-icon.svg-icon(v-html='icons.twitter')
|
||||||
@@ -72,12 +72,11 @@
|
|||||||
a(href='https://www.facebook.com/Habitica', target='_blank')
|
a(href='https://www.facebook.com/Habitica', target='_blank')
|
||||||
.social-icon.facebook.svg-icon(v-html='icons.facebook')
|
.social-icon.facebook.svg-icon(v-html='icons.facebook')
|
||||||
.row
|
.row
|
||||||
.col-10
|
.col-10 {{ $t('donateText3') }}
|
||||||
| We’re an open source project that depends on our users for support. The money you donate helps us keep the servers running, maintain a small staff, develop new features, and provide incentives for our volunteers.
|
|
||||||
.col-2
|
.col-2
|
||||||
button.btn.btn-donate(@click='donate()')
|
button.btn.btn-donate(@click='donate()')
|
||||||
.svg-icon.heart(v-html='icons.heart')
|
.svg-icon.heart(v-html='icons.heart')
|
||||||
.text Donate
|
.text {{ $t('companyDonate') }}
|
||||||
.row
|
.row
|
||||||
hr.col-12
|
hr.col-12
|
||||||
.row
|
.row
|
||||||
@@ -105,9 +104,9 @@
|
|||||||
.logo
|
.logo
|
||||||
.col-4.text-right
|
.col-4.text-right
|
||||||
span
|
span
|
||||||
router-link(to="/static/privacy") Privacy Policy
|
router-link(to="/static/privacy") {{ $t('privacy') }}
|
||||||
span.terms-link
|
span.terms-link
|
||||||
router-link(to="/static/terms") Terms of Use
|
router-link(to="/static/terms") {{ $t('terms') }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -270,7 +270,7 @@
|
|||||||
li(v-html="$t('commGuideList13D')")
|
li(v-html="$t('commGuideList13D')")
|
||||||
|
|
||||||
h2#final {{ $t('commGuideHeadingFinal') }}
|
h2#final {{ $t('commGuideHeadingFinal') }}
|
||||||
p(v-html="$t('commGuidePara067', { hrefCommunityManagerEmail : `<a href='mailto: ${COMMUNITY_MANAGER_EMAIL}'>${COMMUNITY_MANAGER_EMAIL}</a>`})")
|
p(v-html="$t('commGuidePara067', { hrefCommunityManagerEmail })")
|
||||||
p {{ $t('commGuidePara068') }}
|
p {{ $t('commGuidePara068') }}
|
||||||
|
|
||||||
h2#links {{ $t('commGuideHeadingLinks') }}
|
h2#links {{ $t('commGuideHeadingLinks') }}
|
||||||
@@ -339,7 +339,7 @@
|
|||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
COMMUNITY_MANAGER_EMAIL,
|
hrefCommunityManagerEmail: `<a href='mailto: ${COMMUNITY_MANAGER_EMAIL}'>${COMMUNITY_MANAGER_EMAIL}</a>`,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
|||||||
<template lang='pug'>
|
|
||||||
.static-old-news
|
|
||||||
// include ../shared/new-stuff
|
|
||||||
// +oldNews()
|
|
||||||
</template>
|
|
||||||
@@ -429,7 +429,6 @@ export default {
|
|||||||
|
|
||||||
if (drop) {
|
if (drop) {
|
||||||
let text;
|
let text;
|
||||||
let notes;
|
|
||||||
let type;
|
let type;
|
||||||
// TODO $rootScope.playSound('Item_Drop');
|
// TODO $rootScope.playSound('Item_Drop');
|
||||||
|
|
||||||
@@ -453,16 +452,13 @@ export default {
|
|||||||
|
|
||||||
if (drop.type === 'HatchingPotion') {
|
if (drop.type === 'HatchingPotion') {
|
||||||
text = Content.hatchingPotions[drop.key].text();
|
text = Content.hatchingPotions[drop.key].text();
|
||||||
notes = Content.hatchingPotions[drop.key].notes();
|
this.drop(this.$t('messageDropPotion', {dropText: text}), drop);
|
||||||
this.drop(this.$t('messageDropPotion', {dropText: text, dropNotes: notes}), drop);
|
|
||||||
} else if (drop.type === 'Egg') {
|
} else if (drop.type === 'Egg') {
|
||||||
text = Content.eggs[drop.key].text();
|
text = Content.eggs[drop.key].text();
|
||||||
notes = Content.eggs[drop.key].notes();
|
this.drop(this.$t('messageDropEgg', {dropText: text}), drop);
|
||||||
this.drop(this.$t('messageDropEgg', {dropText: text, dropNotes: notes}), drop);
|
|
||||||
} else if (drop.type === 'Food') {
|
} else if (drop.type === 'Food') {
|
||||||
text = Content.food[drop.key].text();
|
text = Content.food[drop.key].text();
|
||||||
notes = Content.food[drop.key].notes();
|
this.drop(this.$t('messageDropFood', {dropArticle: drop.article, dropText: text}), drop);
|
||||||
this.drop(this.$t('messageDropFood', {dropArticle: drop.article, dropText: text, dropNotes: notes}), drop);
|
|
||||||
} else if (drop.type === 'Quest') {
|
} else if (drop.type === 'Quest') {
|
||||||
// TODO $rootScope.selectedQuest = Content.quests[drop.key];
|
// TODO $rootScope.selectedQuest = Content.quests[drop.key];
|
||||||
// $rootScope.openModal('questDrop', {controller:'PartyCtrl', size:'sm'});
|
// $rootScope.openModal('questDrop', {controller:'PartyCtrl', size:'sm'});
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ const GroupPlansPage = () => import(/* webpackChunkName: "static" */'./component
|
|||||||
const MaintenancePage = () => import(/* webpackChunkName: "static" */'./components/static/maintenance');
|
const MaintenancePage = () => import(/* webpackChunkName: "static" */'./components/static/maintenance');
|
||||||
const MaintenanceInfoPage = () => import(/* webpackChunkName: "static" */'./components/static/maintenanceInfo');
|
const MaintenanceInfoPage = () => import(/* webpackChunkName: "static" */'./components/static/maintenanceInfo');
|
||||||
const MerchPage = () => import(/* webpackChunkName: "static" */'./components/static/merch');
|
const MerchPage = () => import(/* webpackChunkName: "static" */'./components/static/merch');
|
||||||
// const NewStuffPage = () => import(/* webpackChunkName: "static" */'./components/static/newStuff');
|
|
||||||
const OverviewPage = () => import(/* webpackChunkName: "static" */'./components/static/overview');
|
const OverviewPage = () => import(/* webpackChunkName: "static" */'./components/static/overview');
|
||||||
const PressKitPage = () => import(/* webpackChunkName: "static" */'./components/static/pressKit');
|
const PressKitPage = () => import(/* webpackChunkName: "static" */'./components/static/pressKit');
|
||||||
const PrivacyPage = () => import(/* webpackChunkName: "static" */'./components/static/privacy');
|
const PrivacyPage = () => import(/* webpackChunkName: "static" */'./components/static/privacy');
|
||||||
@@ -245,7 +244,7 @@ const router = new VueRouter({
|
|||||||
children: [
|
children: [
|
||||||
{ name: 'app', path: 'app', component: AppPage, meta: {requiresLogin: false}},
|
{ name: 'app', path: 'app', component: AppPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'clearBrowserData', path: 'clear-browser-data', component: ClearBrowserDataPage, meta: {requiresLogin: false}},
|
{ name: 'clearBrowserData', path: 'clear-browser-data', component: ClearBrowserDataPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'communitGuidelines', path: 'community-guidelines', component: CommunityGuidelinesPage, meta: {requiresLogin: false}},
|
{ name: 'communityGuidelines', path: 'community-guidelines', component: CommunityGuidelinesPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'contact', path: 'contact', component: ContactPage, meta: {requiresLogin: false}},
|
{ name: 'contact', path: 'contact', component: ContactPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'faq', path: 'faq', component: FAQPage, meta: {requiresLogin: false}},
|
{ name: 'faq', path: 'faq', component: FAQPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'features', path: 'features', component: FeaturesPage, meta: {requiresLogin: false}},
|
{ name: 'features', path: 'features', component: FeaturesPage, meta: {requiresLogin: false}},
|
||||||
@@ -253,9 +252,7 @@ const router = new VueRouter({
|
|||||||
{ name: 'maintenance', path: 'maintenance', component: MaintenancePage, meta: {requiresLogin: false}},
|
{ name: 'maintenance', path: 'maintenance', component: MaintenancePage, meta: {requiresLogin: false}},
|
||||||
{ name: 'maintenance-info', path: 'maintenance-info', component: MaintenanceInfoPage, meta: {requiresLogin: false}},
|
{ name: 'maintenance-info', path: 'maintenance-info', component: MaintenanceInfoPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'merch', path: 'merch', component: MerchPage, meta: {requiresLogin: false}},
|
{ name: 'merch', path: 'merch', component: MerchPage, meta: {requiresLogin: false}},
|
||||||
// { name: 'newStuff', path: 'newStuff', component: NewStuffPage, meta: {requiresLogin: false}},
|
|
||||||
{ name: 'overview', path: 'overview', component: OverviewPage, meta: {requiresLogin: false}},
|
{ name: 'overview', path: 'overview', component: OverviewPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'oldNews', path: 'old-news', component: ParentPage, meta: {requiresLogin: false}},
|
|
||||||
{ name: 'plans', path: 'plans', component: GroupPlansPage, meta: {requiresLogin: false}},
|
{ name: 'plans', path: 'plans', component: GroupPlansPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'pressKit', path: 'press-kit', component: PressKitPage, meta: {requiresLogin: false}},
|
{ name: 'pressKit', path: 'press-kit', component: PressKitPage, meta: {requiresLogin: false}},
|
||||||
{ name: 'privacy', path: 'privacy', component: PrivacyPage, meta: {requiresLogin: false}},
|
{ name: 'privacy', path: 'privacy', component: PrivacyPage, meta: {requiresLogin: false}},
|
||||||
|
|||||||
@@ -22,9 +22,9 @@
|
|||||||
"messageNotEnoughGold": "Not Enough Gold",
|
"messageNotEnoughGold": "Not Enough Gold",
|
||||||
"messageTwoHandedEquip": "Wielding <%= twoHandedText %> takes two hands, so <%= offHandedText %> has been unequipped.",
|
"messageTwoHandedEquip": "Wielding <%= twoHandedText %> takes two hands, so <%= offHandedText %> has been unequipped.",
|
||||||
"messageTwoHandedUnequip": "Wielding <%= twoHandedText %> takes two hands, so it was unequipped when you armed yourself with <%= offHandedText %>.",
|
"messageTwoHandedUnequip": "Wielding <%= twoHandedText %> takes two hands, so it was unequipped when you armed yourself with <%= offHandedText %>.",
|
||||||
"messageDropFood": "You've found <%= dropArticle %><%= dropText %>! <%= dropNotes %>",
|
"messageDropFood": "You've found <%= dropArticle %><%= dropText %>!",
|
||||||
"messageDropEgg": "You've found a <%= dropText %> Egg! <%= dropNotes %>",
|
"messageDropEgg": "You've found a <%= dropText %> Egg!",
|
||||||
"messageDropPotion": "You've found a <%= dropText %> Hatching Potion! <%= dropNotes %>",
|
"messageDropPotion": "You've found a <%= dropText %> Hatching Potion!",
|
||||||
"messageDropQuest": "You've found a quest!",
|
"messageDropQuest": "You've found a quest!",
|
||||||
"messageDropMysteryItem": "You open the box and find <%= dropText %>!",
|
"messageDropMysteryItem": "You open the box and find <%= dropText %>!",
|
||||||
"messageFoundQuest": "You've found the quest \"<%= questText %>\"!",
|
"messageFoundQuest": "You've found the quest \"<%= questText %>\"!",
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
"alreadyUnlockedPart": "Full set already partially unlocked.",
|
"alreadyUnlockedPart": "Full set already partially unlocked.",
|
||||||
|
|
||||||
"USD": "(USD)",
|
"USD": "(USD)",
|
||||||
"newStuff": "New Stuff",
|
"newStuff": "New Stuff by [Bailey](https://twitter.com/Mihakuu)",
|
||||||
"cool": "Tell Me Later",
|
"cool": "Tell Me Later",
|
||||||
"dismissAlert": "Dismiss This Alert",
|
"dismissAlert": "Dismiss This Alert",
|
||||||
"donateText1": "Adds 20 Gems to your account. Gems are used to buy special in-game items, such as shirts and hairstyles.",
|
"donateText1": "Adds 20 Gems to your account. Gems are used to buy special in-game items, such as shirts and hairstyles.",
|
||||||
|
|||||||
Reference in New Issue
Block a user