Revert "chore(lint): run fix"

This reverts commit 15fdf2d75a.
This commit is contained in:
Sabe Jones 2021-08-26 22:50:46 -05:00
parent a6e32d0822
commit 5179440f77
64 changed files with 230 additions and 305 deletions

View file

@ -73,10 +73,12 @@ store.state.user.data = {
Vue.prototype.$store = store;
const req = require.context('../../src', true, /.stories.js$/);
function loadStories () {
req.keys().forEach(filename => req(filename));
}
configure(loadStories, module);

View file

@ -6,16 +6,12 @@
<div class="row">
<div class="col-12 col-md-2">
<h3>
<a
href="https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8"
target="_blank"
>{{ $t('mobileIOS') }}</a>
<a href="https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8"
target="_blank">{{ $t('mobileIOS') }}</a>
</h3>
<h3>
<a
href="https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica"
target="_blank"
>{{ $t('mobileAndroid') }}</a>
<a href="https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica"
target="_blank">{{ $t('mobileAndroid') }}</a>
</h3>
</div>
<div class="col-12 col-md-2">
@ -27,16 +23,12 @@
</router-link>
</li>
<li>
<a
href="https://habitica.wordpress.com/"
target="_blank"
>{{ $t('companyBlog') }}</a>
<a href="https://habitica.wordpress.com/"
target="_blank">{{ $t('companyBlog') }}</a>
</li>
<li>
<a
href="http://blog.habitrpg.com/"
target="_blank"
>{{ $t('tumblr') }}</a>
<a href="http://blog.habitrpg.com/"
target="_blank">{{ $t('tumblr') }}</a>
</li>
<li>
<router-link to="/static/faq">
@ -44,10 +36,8 @@
</router-link>
</li>
<li>
<a
href="http://habitica.fandom.com/wiki/Whats_New"
target="_blank"
>{{ $t('oldNews') }}</a>
<a href="http://habitica.fandom.com/wiki/Whats_New"
target="_blank">{{ $t('oldNews') }}</a>
</li>
<!-- Commenting out merch page see https://github.com/HabitRPG/habitica/issues/12039
<li>
@ -72,10 +62,8 @@
<h3>{{ $t('footerCommunity') }}</h3>
<ul>
<li>
<a
target="_blank"
href="/static/community-guidelines"
>{{ $t('communityGuidelines') }}</a>
<a target="_blank"
href="/static/community-guidelines">{{ $t('communityGuidelines') }}</a>
</li>
<li>
<router-link to="/hall/contributors">
@ -88,23 +76,17 @@
</router-link>
</li>
<li>
<a
href="https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link"
target="_blank"
>{{ $t('requestFeature') }}</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link"
target="_blank">{{ $t('requestFeature') }}</a>
</li>
<li v-html="$t('communityExtensions')"></li>
<li>
<a
href="https://www.facebook.com/Habitica"
target="_blank"
>{{ $t('communityFacebook') }}</a>
<a href="https://www.facebook.com/Habitica"
target="_blank">{{ $t('communityFacebook') }}</a>
</li>
<li>
<a
href="https://www.instagram.com/habitica"
target="_blank"
>{{ $t('communityInstagram') }}</a>
<a href="https://www.instagram.com/habitica"
target="_blank">{{ $t('communityInstagram') }}</a>
</li>
</ul>
</div>
@ -114,57 +96,39 @@
<h3>{{ $t('footerDevs') }}</h3>
<ul>
<li>
<a
href="/apidoc"
target="_blank"
>{{ $t('APIv3') }}</a>
<a href="/apidoc"
target="_blank">{{ $t('APIv3') }}</a>
</li>
<li>
<a
:href="getDataDisplayToolUrl"
target="_blank"
>{{ $t('dataDisplayTool') }}</a>
<a :href="getDataDisplayToolUrl"
target="_blank">{{ $t('dataDisplayTool') }}</a>
</li>
<li>
<a
href="http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths"
target="_blank"
>{{ $t('guidanceForBlacksmiths') }}</a>
<a href="http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths"
target="_blank">{{ $t('guidanceForBlacksmiths') }}</a>
</li>
</ul>
</div>
<div class="col-6 social">
<h3>{{ $t('footerSocial') }}</h3>
<div class="icons">
<a
class="social-circle"
href="https://twitter.com/habitica"
target="_blank"
>
<div
class="social-icon svg-icon"
v-html="icons.twitter"
></div>
<a class="social-circle"
href="https://twitter.com/habitica"
target="_blank">
<div class="social-icon svg-icon"
v-html="icons.twitter"></div>
</a>
<a
class="social-circle"
href="https://www.instagram.com/habitica/"
target="_blank"
>
<div
class="social-icon svg-icon instagram"
v-html="icons.instagram"
></div>
<a class="social-circle"
href="https://www.instagram.com/habitica/"
target="_blank">
<div class="social-icon svg-icon instagram"
v-html="icons.instagram"></div>
</a>
<a
class="social-circle"
href="https://www.facebook.com/Habitica"
target="_blank"
>
<div
class="social-icon facebook svg-icon"
v-html="icons.facebook"
></div>
<a class="social-circle"
href="https://www.facebook.com/Habitica"
target="_blank">
<div class="social-icon facebook svg-icon"
v-html="icons.facebook"></div>
</a>
</div>
</div>
@ -174,31 +138,21 @@
{{ $t('donateText3') }}
</div>
<div class="col-12 col-md-4">
<button
v-if="user"
class="btn btn-contribute btn-front btn-flat"
@click="donate()"
>
<div
class="svg-icon heart"
v-html="icons.heart"
></div>
<button v-if="user"
class="btn btn-contribute btn-front btn-flat"
@click="donate()">
<div class="svg-icon heart"
v-html="icons.heart"></div>
<div class="text">
{{ $t('companyDonate') }}
</div>
</button>
<div
v-else
class="btn btn-contribute btn-front btn-flat"
>
<a
href="http://habitica.fandom.com/wiki/Contributing_to_Habitica"
target="_blank"
>
<div
class="svg-icon heart"
v-html="icons.heart"
></div>
<div v-else
class="btn btn-contribute btn-front btn-flat">
<a href="http://habitica.fandom.com/wiki/Contributing_to_Habitica"
target="_blank">
<div class="svg-icon heart"
v-html="icons.heart"></div>
<div class="text">{{ $t('companyContribute') }}</div>
</a>
</div>
@ -214,106 +168,62 @@
<div class="row">
<div class="col-12 col-md-5 text-center text-md-left">
© 2021 Habitica. All rights reserved.
<div
v-if="!IS_PRODUCTION && isUserLoaded"
class="debug float-left"
>
<button
class="btn btn-primary"
@click="debugMenuShown = !debugMenuShown"
>
<div v-if="!IS_PRODUCTION && isUserLoaded"
class="debug float-left">
<button class="btn btn-primary"
@click="debugMenuShown = !debugMenuShown">
Toggle Debug Menu
</button>
<div
v-if="debugMenuShown"
class="debug-group"
>
<a
class="btn btn-secondary"
@click="setHealthLow()"
>Health = 1</a>
<a
class="btn btn-secondary"
@click="addMissedDay(1)"
>+1 Missed Day</a>
<a
class="btn btn-secondary"
@click="addMissedDay(2)"
>+2 Missed Days</a>
<a
class="btn btn-secondary"
@click="addMissedDay(8)"
>+8 Missed Days</a>
<a
class="btn btn-secondary"
@click="addMissedDay(32)"
>+32 Missed Days</a>
<a
class="btn btn-secondary"
@click="addTenGems()"
>+10 Gems</a>
<a
class="btn btn-secondary"
@click="addHourglass()"
>+1 Mystic Hourglass</a>
<a
class="btn btn-secondary"
@click="addGold()"
>+500GP</a>
<a
class="btn btn-secondary"
@click="plusTenHealth()"
>+ 10HP</a>
<a
class="btn btn-secondary"
@click="addMana()"
>+MP</a>
<a
class="btn btn-secondary"
@click="addLevelsAndGold()"
>+Exp +GP +MP</a>
<a
class="btn btn-secondary"
@click="addExp()"
>+Exp</a>
<a
class="btn btn-secondary"
@click="addOneLevel()"
>+1 Level</a>
<a
class="btn btn-secondary"
tooltip="+1000 to boss quests. 300 items to collection quests"
@click="addQuestProgress()"
>Quest Progress Up</a>
<a
class="btn btn-secondary"
@click="makeAdmin()"
>Make Admin</a>
<a
class="btn btn-secondary"
@click="openModifyInventoryModal()"
>Modify Inventory</a>
<div v-if="debugMenuShown"
class="debug-group">
<a class="btn btn-secondary"
@click="setHealthLow()">Health = 1</a>
<a class="btn btn-secondary"
@click="addMissedDay(1)">+1 Missed Day</a>
<a class="btn btn-secondary"
@click="addMissedDay(2)">+2 Missed Days</a>
<a class="btn btn-secondary"
@click="addMissedDay(8)">+8 Missed Days</a>
<a class="btn btn-secondary"
@click="addMissedDay(32)">+32 Missed Days</a>
<a class="btn btn-secondary"
@click="addTenGems()">+10 Gems</a>
<a class="btn btn-secondary"
@click="addHourglass()">+1 Mystic Hourglass</a>
<a class="btn btn-secondary"
@click="addGold()">+500GP</a>
<a class="btn btn-secondary"
@click="plusTenHealth()">+ 10HP</a>
<a class="btn btn-secondary"
@click="addMana()">+MP</a>
<a class="btn btn-secondary"
@click="addLevelsAndGold()">+Exp +GP +MP</a>
<a class="btn btn-secondary"
@click="addExp()">+Exp</a>
<a class="btn btn-secondary"
@click="addOneLevel()">+1 Level</a>
<a class="btn btn-secondary"
tooltip="+1000 to boss quests. 300 items to collection quests"
@click="addQuestProgress()">Quest Progress Up</a>
<a class="btn btn-secondary"
@click="makeAdmin()">Make Admin</a>
<a class="btn btn-secondary"
@click="openModifyInventoryModal()">Modify Inventory</a>
</div>
</div>
</div>
<div class="col-12 col-md-2 text-center">
<div
class="logo svg-icon"
v-html="icons.gryphon"
></div>
<div class="logo svg-icon"
v-html="icons.gryphon"></div>
</div>
<div class="col-12 col-md-5 text-center text-md-right my-1">
<span class="ml-4">
<a
target="_blank"
href="/static/privacy"
>{{ $t('privacy') }}</a>
<a target="_blank"
href="/static/privacy">{{ $t('privacy') }}</a>
</span>
<span class="ml-4">
<a
target="_blank"
href="/static/terms"
>{{ $t('terms') }}</a>
<a target="_blank"
href="/static/terms">{{ $t('terms') }}</a>
</span>
</div>
</div>

View file

@ -43,6 +43,7 @@ import gem from '@/assets/svg/gem.svg';
const freeShirtKeys = Object.keys(appearance.shirt).filter(k => appearance.shirt[k].price === 0);
const specialShirtKeys = Object.keys(appearance.shirt).filter(k => appearance.shirt[k].price !== 0);
export default {
components: {
subMenu,

View file

@ -332,6 +332,7 @@ export default {
margin-right: 12px;
margin-bottom: 12px;
width: calc(100% - 24px);
padding-left: 0;
@ -341,4 +342,5 @@ export default {
flex: unset;
}
</style>

View file

@ -68,6 +68,7 @@ import gem from '@/assets/svg/gem.svg';
const freeShirtKeys = Object.keys(appearance.shirt).filter(k => appearance.shirt[k].price === 0);
const specialShirtKeys = Object.keys(appearance.shirt).filter(k => appearance.shirt[k].price !== 0);
export default {
components: {
subMenu,

View file

@ -41,6 +41,7 @@ import subMenu from './sub-menu';
import customizeOptions from './customize-options';
import gem from '@/assets/svg/gem.svg';
const skinsBySet = groupBy(appearance.skin, 'set.key');
const freeSkinKeys = skinsBySet[undefined].map(s => s.key);

View file

@ -32,7 +32,7 @@
<div class="row">
<div
v-if="!loading &&
this.filteredChallenges.length === 0"
this.filteredChallenges.length === 0"
class="no-challenges text-center col-md-6 offset-3"
>
<h2 v-once>
@ -124,6 +124,7 @@ import challengeUtilities from '@/mixins/challengeUtilities';
import positiveIcon from '@/assets/svg/positive.svg';
export default {
components: {
Sidebar,

View file

@ -149,6 +149,7 @@ import challengeUtilities from '@/mixins/challengeUtilities';
import challengeIcon from '@/assets/svg/challenge.svg';
import positiveIcon from '@/assets/svg/positive.svg';
export default {
components: {
Sidebar,

View file

@ -826,6 +826,7 @@
}
}
.text-center {
.gem-lock, .gold-lock {
display: inline-block;

View file

@ -7,6 +7,7 @@ import { userStyles } from '../../config/storybook/mock.data';
import content from '../../../common/script/content/index';
import getters from '@/store/getters';
storiesOf('Face Avatar', module)
.add('simple', () => ({
components: { FaceAvatar },

View file

@ -226,6 +226,7 @@ export const groupCollectionQuestPending = {
id: '96ea599a-737b-47e2-ac17-8bd85b6ab62a',
};
export const collectionQuestLeaderParticipating = {
leaderOnly: { challenges: false, getGems: false },
quest: {

View file

@ -8,10 +8,7 @@
<div class="dialog-close">
<close-icon @click="close()" />
</div>
<h2
v-once
class="text-center textCondensed"
>
<h2 class="text-center textCondensed" v-once>
{{ $t('invitations') }}
</h2>
<div
@ -27,22 +24,17 @@
/>
</div>
<div class="usernames">
<user-label
:user="member"
class="user-label"
/> <br>
<user-label :user="member" class="user-label" /> <br>
<span class="username">
@{{ member.auth.local.username }}
</span>
</div>
<div
:class="{
'status': true,
'accepted': member.accepted === true,
'declined': member.accepted === false,
'pending': member.accepted === null
}"
>
<div :class="{
'status': true,
'accepted': member.accepted === true,
'declined': member.accepted === false,
'pending': member.accepted === null
}">
<div
v-if="member.accepted === true"
class="accepted float-right"
@ -251,7 +243,6 @@ export default {
ClassBadge,
CloseIcon,
},
props: ['group'],
data () {
return {
icons: Object.freeze({
@ -260,6 +251,7 @@ export default {
}),
};
},
props: ['group'],
computed: {
...mapGetters({
partyMembers: 'party:members',

View file

@ -112,6 +112,7 @@ b-dropdown(:text="$t('sort')", right=true)
import { mapState } from '@/libs/store';
import groupUtilities from '@/mixins/groupsUtilities';
import PublicGuildItem from './publicGuildItem';
import Sidebar from './groupSidebar';

View file

@ -8,10 +8,7 @@
<div class="dialog-close">
<close-icon @click="close()" />
</div>
<h2
v-once
class="text-center textCondensed"
>
<h2 class="text-center textCondensed" v-once>
{{ $t('participantsTitle') }}
</h2>
<div
@ -114,6 +111,7 @@
}
}
#participant-list_modal_body {
padding: 0;
max-height: 450px;

View file

@ -13,10 +13,7 @@
<h2 class="text-center textCondensed">
{{ selectMode ? $t('selectQuest') : $t('questDetailsTitle') }}
</h2>
<div
v-if="selectMode"
class="quest-panel"
>
<div class="quest-panel" v-if="selectMode">
<div class="quest-panel-header">
<h3>
{{ $t('yourQuests') }}
@ -80,19 +77,13 @@
</div>
</div>
<div v-else>
<div
v-if="questData"
class="quest-combined-content"
>
<div v-if="questData" class="quest-combined-content">
<questDialogContent
:item="questData"
:group="group"
class="quest-detail"
/>
<quest-rewards
:quest="questData"
class="mt-4"
/>
<quest-rewards :quest="questData" class="mt-4" />
</div>
<div
v-if="!groupHasQuest"

View file

@ -6,9 +6,9 @@
>
<div class="col-12 text-center">
<div
v-once
class="svg-icon quest-icon color"
v-html="icons.questIcon"
v-once
></div>
<h4 v-once>
{{ $t('yourPartyIsNotOnQuest') }}
@ -86,10 +86,8 @@
</div>
</div>
</div>
<div
v-if="hasPendingQuestItems"
class="item-progress-pending mb-2"
>
<div v-if="hasPendingQuestItems"
class="item-progress-pending mb-2">
<div class="pending-amount pt-2 pb-2">
{{ $t('questItemsPending', { amount: user.party.quest.progress.collectedItems }) }}
</div>
@ -128,9 +126,9 @@
<div class="col-6">
<span class="float-left hp-value">
<div
v-once
class="svg-icon health-icon"
v-html="icons.healthNoPaddingIcon"
v-once
></div>
{{
(Math.ceil(parseFloat(group.quest.progress.hp) * 100) / 100)
@ -153,9 +151,9 @@
progress on the group doc? Each user could have different progress.-->
<span class="float-right pending-value">
<div
v-once
class="svg-icon sword-icon"
v-html="icons.swordIcon"
v-once
></div>
{{
(user.party.quest.progress.up || 0)
@ -189,9 +187,9 @@
<div class="col-6">
<span class="float-left rage-value">
<div
v-once
class="svg-icon rage-icon icon-16"
v-html="icons.rageIcon"
v-once
>
</div>
<span
@ -231,10 +229,8 @@
></div>
</div>
</div>
<div
v-if="onPendingQuest || onActiveQuest"
class="quest-buttons"
>
<div v-if="onPendingQuest || onActiveQuest"
class="quest-buttons">
<button
class="btn btn-secondary w-100"
@click="openQuestDetails()"
@ -242,10 +238,8 @@
{{ $t('viewDetails') }}
</button>
</div>
<div
v-if="userIsQuestLeader && !onActiveQuest"
class="quest-buttons"
>
<div v-if="userIsQuestLeader && !onActiveQuest"
class="quest-buttons">
<button
class="btn btn-success w-100"
@click="startQuest()"

View file

@ -25,9 +25,9 @@
>
<template v-slot:button-content>
<span
v-once
class="svg-icon inline menuIcon"
v-html="icons.menuIcon"
v-once
>
</span>
</template>
@ -38,9 +38,9 @@
>
<span class="with-icon">
<span
v-once
class="svg-icon icon-16 color"
v-html="icons.sparklesIcon"
v-once
></span>
<span v-once>
{{ $t('upgradeToGroup') }}
@ -54,9 +54,9 @@
>
<span class="with-icon">
<span
v-once
class="svg-icon icon-16 color"
v-html="icons.usersIcon"
v-once
></span>
<span v-once>
{{ $t(isParty ? 'inviteToParty' : 'inviteToGuild') }}
@ -69,9 +69,9 @@
>
<span class="with-icon">
<span
v-once
class="svg-icon icon-16 color"
v-html="icons.messageIcon"
v-once
></span>
<span v-once>
{{ $t(isParty ? 'messagePartyLeader' : 'messageGuildLeader') }}
@ -85,9 +85,9 @@
>
<span class="with-icon">
<span
v-once
class="svg-icon icon-16 color"
v-html="icons.editIcon"
v-once
></span>
<span v-once>
{{ isParty ? $t('editParty') : $t('editGuild') }}
@ -101,9 +101,9 @@
>
<span class="with-icon">
<span
v-once
class="svg-icon icon-16 color"
v-html="icons.leaveIcon"
v-once
></span>
<span v-once>
{{ isParty ? $t('leaveParty') : $t('leaveGuild') }}
@ -150,6 +150,7 @@ import editIcon from '@/assets/svg/edit.svg';
import messageIcon from '@/assets/svg/message.svg';
import usersIcon from '@/assets/svg/users.svg';
export default {
components: {
groupChallenges,

View file

@ -744,6 +744,7 @@ import selectUserModal from '@/components/payments/selectUserModal';
import sync from '@/mixins/sync';
import userDropdown from './userDropdown';
export default {
components: {
creatorIntro,

View file

@ -40,6 +40,7 @@
@import '~@/assets/scss/colors.scss';
.attributes-group {
border-radius: 4px;
// unless we have a way to give a popover an id or class, it needs expand the attributes area

View file

@ -432,6 +432,7 @@ export default {
}
});
each(this.gearTypesToStrings, (string, type) => {
this.viewOptions[type].firstRender = false; // eslint-disable-line vue/no-side-effects-in-computed-properties, max-len
});

View file

@ -44,6 +44,7 @@ import DragDropDirective from '@/directives/dragdrop.directive';
import CountBadge from '@/components/ui/countBadge';
export default {
components: {
CountBadge,

View file

@ -582,6 +582,7 @@ export default {
});
});
return petGroups;
},
mountGroups () {
@ -626,6 +627,7 @@ export default {
});
});
return mountGroups;
},
drawerTabs () {

View file

@ -35,6 +35,7 @@
</b-modal>
</template>
<style lang="scss" scoped>
@import '~@/assets/scss/colors.scss';
@import '~@/assets/scss/mixins.scss';
@ -79,6 +80,7 @@
}
</style>
<script>
import markdownDirective from '@/directives/markdown';
import { mountInfo } from '@/../../common/script/content/stable';

View file

@ -28,11 +28,11 @@
:name="member.profile.name"
:backer="member.backer"
:contributor="member.contributor"
:smaller-style="true"
:smallerStyle="true"
/>
<inline-class-badge
v-if="member.stats"
class="inline-class-badge"
v-if="member.stats"
:member-class="member.stats.class"
/>
</h3>
@ -72,8 +72,8 @@
:show-numbers="false"
/>
<stats-bar
v-if="hasClass"
class="mt-75 stats-bar"
v-if="hasClass"
:icon="icons.mana"
:value="member.stats.mp"
:max-value="maxMP"

View file

@ -1,8 +1,6 @@
<template>
<div
class="class-badge d-flex justify-content-center"
:style="{'--badge-size': badgeSize + 'px'}"
>
<div class="class-badge d-flex justify-content-center"
:style="{'--badge-size': badgeSize + 'px'}">
<div
class="align-self-center svg-icon"
:aria-label="$t(memberClass)"

View file

@ -185,6 +185,7 @@
margin-bottom: 1rem;
}
</style>
<script>

View file

@ -6,15 +6,15 @@
@hide="onHide()"
>
<div
v-if="currentEvent && currentEvent.promo === 'g1g1'"
class="g1g1 d-flex flex-column text-center justify-content-center align-items-center"
v-if="currentEvent && currentEvent.promo === 'g1g1'"
>
<h1> {{ $t('g1g1') }} </h1>
<p> {{ $t('g1g1Returning') }} </p>
</div>
<h2
v-else
class="ml-2"
v-else
>
{{ $t('sendGift') }}
</h2>
@ -76,15 +76,15 @@
<a
class="cancel-link mx-auto mt-3"
@click="close()"
>
>
{{ $t('cancel') }}
</a>
</div>
</div>
</div>
<div
slot="modal-footer"
class="g1g1-fine-print text-center pt-3"
slot="modal-footer"
>
<strong>
{{ $t ('howItWorks') }}

View file

@ -46,8 +46,8 @@
</router-link>
</secondary-menu>
<div
v-if="$route.name === 'subscription' && promo === 'g1g1'"
class="g1g1-banner d-flex justify-content-center"
v-if="$route.name === 'subscription' && promo === 'g1g1'"
>
<div
v-once
@ -61,9 +61,7 @@
> {{ $t('g1g1Event') }} </strong>
<p
class="mb-auto"
>
{{ $t('g1g1Details') }}
</p>
> {{ $t('g1g1Details') }} </p>
</div>
<div
v-once

View file

@ -41,6 +41,7 @@
</div>
</template>
<style lang="scss">
@import '~@/assets/scss/colors.scss';
#subscription-form {

View file

@ -163,7 +163,7 @@
</div>
<countdown-banner
v-if="item.event && item.owned == null"
:end-date="endDate"
:endDate = "endDate"
/>
<div
v-if="item.key === 'rebirth_orb' && item.value > 0 && user.stats.lvl >= 100"

View file

@ -68,9 +68,6 @@ export default {
this.countdownString();
this.timer = setInterval(this.countdownString, 1000);
},
beforeDestroy () {
this.cancelAutoUpdate();
},
methods: {
countdownString () {
const diffDuration = moment.duration(moment(this.endDate).diff(moment()));
@ -101,5 +98,8 @@ export default {
clearInterval(this.timer);
},
},
beforeDestroy () {
this.cancelAutoUpdate();
},
};
</script>

View file

@ -110,9 +110,6 @@ export default {
this.countdownString();
this.timer = setInterval(this.countdownString, 1000);
},
beforeDestroy () {
this.cancelAutoUpdate();
},
methods: {
itemSelected (item) {
this.$root.$emit('buyModal::showItem', item);
@ -144,5 +141,8 @@ export default {
clearInterval(this.timer);
},
},
beforeDestroy () {
this.cancelAutoUpdate();
},
};
</script>

View file

@ -111,6 +111,7 @@
height: 38px; // button + margin + padding
}
.icon-48 {
width: 48px;
height: 48px;
@ -145,6 +146,7 @@
}
</style>
<script>
import _filter from 'lodash/filter';
import _map from 'lodash/map';

View file

@ -17,7 +17,7 @@
<close-icon @click="hideDialog()" />
</div>
<h2 class="text-center textCondensed">
{{ $t('questDetailsTitle') }}
{{$t('questDetailsTitle') }}
</h2>
<div
v-if="item != null"
@ -82,7 +82,7 @@
</div>
<countdown-banner
v-if="item.event"
:end-date="endDate"
:endDate="endDate"
/>
<div
slot="modal-footer"

View file

@ -396,6 +396,7 @@
}
</style>
<script>
import _filter from 'lodash/filter';
import _sortBy from 'lodash/sortBy';
@ -425,6 +426,7 @@ import FilterGroup from '@/components/ui/filterGroup';
import SelectTranslatedArray from '@/components/tasks/modal-controls/selectTranslatedArray';
import QuestPopover from './questPopover';
export default {
components: {
QuestPopover,

View file

@ -28,6 +28,7 @@
</div>
</template>
<style lang="scss" scoped>
@import '~@/assets/scss/colors.scss';
@ -79,6 +80,11 @@ export default {
UserLabel,
QuestInfo,
},
data () {
return {
leader: null,
};
},
props: {
item: {
type: Object,
@ -87,25 +93,6 @@ export default {
type: Object,
},
},
data () {
return {
leader: null,
};
},
computed: {
itemText () {
if (this.item.text instanceof Function) {
return this.item.text();
}
return this.item.text;
},
itemNotes () {
if (this.item.notes instanceof Function) {
return this.item.notes();
}
return this.item.notes;
},
},
async created () {
if (this.group && this.group.quest && this.group.quest.active) {
try {
@ -119,5 +106,19 @@ export default {
}
}
},
computed: {
itemText () {
if (this.item.text instanceof Function) {
return this.item.text();
}
return this.item.text;
},
itemNotes () {
if (this.item.notes instanceof Function) {
return this.item.notes();
}
return this.item.notes;
},
},
};
</script>

View file

@ -177,9 +177,6 @@ export default {
this.countdownString();
this.timer = setInterval(this.countdownString, 1000);
},
beforeDestroy () {
this.cancelAutoUpdate();
},
methods: {
stars () {
const result = [];
@ -233,5 +230,8 @@ export default {
clearInterval(this.timer);
},
},
beforeDestroy () {
this.cancelAutoUpdate();
},
};
</script>

View file

@ -1,7 +1,7 @@
<template>
<div
v-if="quest.drop"
class="quest-rewards"
v-if="quest.drop"
>
<div
class="header d-flex align-items-center"

View file

@ -222,6 +222,7 @@
width: 50%;
margin-bottom: 24px;
.items {
border-radius: 2px;
background-color: #edecee;

View file

@ -327,9 +327,6 @@ export default {
}
});
},
beforeDestroy () {
this.cancelAutoUpdate();
},
methods: {
click () {
this.$emit('click', {});
@ -380,5 +377,8 @@ export default {
clearInterval(this.timer);
},
},
beforeDestroy () {
this.cancelAutoUpdate();
},
};
</script>

View file

@ -1,8 +1,5 @@
<template>
<div
class="section"
:class="{'visible':visible}"
>
<div class="section" :class="{'visible':visible}">
<div class="section-header d-flex align-items-center">
<h3
v-once

View file

@ -773,6 +773,7 @@
}
}
@media only screen and (max-width: 768px) {
#call-to-action .btn-primary {
width: 95%;

View file

@ -87,7 +87,7 @@
ref="tasksList"
class="sortable-tasks"
:options="{disabled: activeFilter.label === 'scheduled' || !canBeDragged(),
scrollSensitivity: 64}"
scrollSensitivity: 64}"
:delay-on-touch-only="true"
:delay="100"
@update="taskSorted"

View file

@ -37,6 +37,7 @@
</div>
</template>
<style lang="scss">
@import '~@/assets/scss/colors.scss';

View file

@ -139,6 +139,7 @@ import difficultyMediumIcon from '@/assets/svg/difficulty-medium.svg';
import difficultyHardIcon from '@/assets/svg/difficulty-hard.svg';
import selectList from '@/components/ui/selectList';
export default {
components: {
selectList,

View file

@ -87,10 +87,7 @@
</div>
</div>
</div>
<div
v-if="tagsType.key === 'tags'"
class="col-6 dragSpace"
>
<div v-if="tagsType.key === 'tags'" class="col-6 dragSpace">
<input
v-model="newTag"
class="new-tag-item edit-tag-item inline-edit-input form-control"

View file

@ -47,6 +47,7 @@ import ResizeDirective from '@/directives/resize.directive';
import openedItemRowsMixin from '@/mixins/openedItemRows';
import ShowMoreButton from '@/components/ui/showMoreButton';
export default {
components: { ShowMoreButton },
directives: {

View file

@ -17,10 +17,7 @@
:style="{width: `${percent(value, maxValue)}%`}"
></div>
</div>
<span
v-if="showNumbers"
class="small-text"
>
<span class="small-text" v-if="showNumbers">
{{ value | statFloor }} / {{ maxValue }}
</span>
<b-tooltip

View file

@ -719,6 +719,7 @@ import achievementsLib from '@/../../common/script/libs/achievements';
import Content from '@/../../common/script/content';
import profileStats from './profileStats';
import message from '@/assets/svg/message.svg';
import gift from '@/assets/svg/gift.svg';
import block from '@/assets/svg/block.svg';

View file

@ -337,6 +337,7 @@ import autoAllocate from '@/../../common/script/fns/autoAllocate';
import allocateBulk from '@/../../common/script/ops/stats/allocateBulk';
import statsComputed from '@/../../common/script/libs/statsComputed';
const DROP_ANIMALS = keys(Content.pets);
const TOTAL_NUMBER_OF_DROP_ANIMALS = DROP_ANIMALS.length;
export default {
@ -693,6 +694,7 @@ export default {
margin-top: 1em;
}
.gear.box {
vertical-align: top;
margin: 0 auto;

View file

@ -1,6 +1,7 @@
/*
import {emit} from './directive.common';
import _keys from 'lodash/keys';
import _without from 'lodash/without';
*/

View file

@ -1,5 +1,6 @@
import getStore from '@/store';
export function setup () { // eslint-disable-line import/prefer-default-export
const store = getStore();

View file

@ -35,6 +35,7 @@ function removeLocalSetting (key) {
return localStorage.removeItem(key);
}
export {
CONSTANTS,
getLocalSetting,

View file

@ -5,8 +5,10 @@ import get from 'lodash/get';
import unlock from '@/../../common/script/ops/unlock';
import buy from '@/../../common/script/ops/buy/buy';
import appearanceSets from '@/../../common/script/content/appearance/sets';
import { userStateMixin } from './userState';
export const avatarEditorUtilies = { // eslint-disable-line import/prefer-default-export

View file

@ -316,6 +316,7 @@
border-bottom: 1px solid $gray-500;
}
.conversations {
overflow-x: hidden;
overflow-y: auto;
@ -462,6 +463,7 @@
border-radius: 2px;
margin-left: 1.5rem;
&.disabled {
cursor: default;
pointer-events: none;

View file

@ -72,6 +72,7 @@ export async function exportChallengeCsv (store, payload) {
return response.data.data;
}
export async function updateChallenge (store, payload) {
const challengeDataToSend = omit(payload.challenge, ['tasks', 'habits', 'todos', 'rewards', 'group']);

View file

@ -49,6 +49,7 @@ export async function getGroup (store, payload) {
return response.data.data;
}
export async function join (store, payload) {
const { groupId } = payload;
const { type } = payload;

View file

@ -43,6 +43,7 @@ export async function clearCompletedTodos (store) {
store.state.tasks.data.todos = store.state.tasks.data.todos.filter(task => !task.completed);
}
export function order (store, [rawTasks, tasksOrder]) {
const tasks = {
habits: [],

View file

@ -4,6 +4,7 @@ import { shouldDo } from '@/../../common/script/cron';
import { orderSingleTypeTasks } from '@/libs/store/helpers/orderTasks';
import { getActiveFilter, sortAndFilterTasks } from '@/libs/store/helpers/filterTasks';
// Return all the tags belonging to an user task
export function getTagsFor (store) {
return task => store.state.user.data.tags
@ -92,6 +93,7 @@ export function canEdit (store) {
const isUserChallenge = userId === (challenge
&& challenge.leader !== null && challenge.leader.id);
switch (taskCategory) {
case 'challenge':
if (!onUserDashboard) {

View file

@ -4,6 +4,7 @@ import {
// orderMultipleTypeTasks,
} from '@/libs/store/helpers/orderTasks';
describe('Task Order Helper Function', () => {
let tasks; let shuffledTasks; let
taskOrderList;

View file

@ -1,5 +1,6 @@
import generateStore from '@/store';
describe('canDelete getter', () => {
let store;
let group;

View file

@ -1,5 +1,6 @@
import generateStore from '@/store';
describe('canEdit getter', () => {
let store;
let group;

View file

@ -49,6 +49,7 @@ describe('getTaskClasses getter', () => {
expect(getTaskClasses(task, 'edit-modal-bg')).to.equal('task-better-modal-bg');
});
it('returns best task edit-modal-bg class', () => {
const task = { type: 'todo', value: 12 };
expect(getTaskClasses(task, 'edit-modal-bg')).to.equal('task-best-modal-bg');

View file

@ -3,7 +3,7 @@ const path = require('path');
const webpack = require('webpack');
const nconf = require('nconf');
const { DuplicatesPlugin } = require('inspectpack/plugin');
const setupNconf = require('../server/libs/setupNconf');
const setupNconf = require('../../website/server/libs/setupNconf');
const pkg = require('./package.json');
const configFile = path.join(path.resolve(__dirname, '../../config.json'));