Skip to content

Commit

Permalink
Merge branch 'develop' into sabrecat/redesign-fixes-0921
Browse files Browse the repository at this point in the history
  • Loading branch information
SabreCat committed Sep 22, 2017
2 parents 1f9c611 + 6fcf739 commit 8245999
Show file tree
Hide file tree
Showing 29 changed files with 277 additions and 160 deletions.
36 changes: 24 additions & 12 deletions website/client/app.vue
Expand Up @@ -9,17 +9,16 @@
.container-fluid
app-header
buyModal(
:item="selectedItemToBuy",
:item="selectedItemToBuy || {}",
:withPin="true",
@change="resetItemToBuy($event)",
@buyPressed="customPurchase($event)",
:genericPurchase="genericPurchase(selectedItemToBuy)",

)
selectMembersModal(
:item="selectedCardToBuy",
:item="selectedSpellToBuy || {}",
:group="user.party",
@change="resetCardToBuy($event)",
@memberSelected="memberSelected($event)",
)

Expand Down Expand Up @@ -75,6 +74,7 @@ import * as Analytics from 'client/libs/analytics';
import BuyModal from './components/shops/buyModal.vue';
import SelectMembersModal from 'client/components/selectMembersModal.vue';
import notifications from 'client/mixins/notifications';
import { setup as setupPayments } from 'client/libs/payments';
export default {
mixins: [notifications],
Expand All @@ -91,7 +91,7 @@ export default {
data () {
return {
selectedItemToBuy: null,
selectedCardToBuy: null,
selectedSpellToBuy: null,
sound: {
oggSource: '',
Expand Down Expand Up @@ -127,6 +127,12 @@ export default {
this.$root.$on('buyModal::showItem', (item) => {
this.selectedItemToBuy = item;
this.$root.$emit('show::modal', 'buy-modal');
});
this.$root.$on('selectMembersModal::showItem', (item) => {
this.selectedSpellToBuy = item;
this.$root.$emit('show::modal', 'select-member-modal');
});
// @TODO split up this file, it's too big
Expand Down Expand Up @@ -205,6 +211,12 @@ export default {
'preferences.timezoneOffset': this.browserTimezoneOffset,
});
}
this.$nextTick(() => {
// Load external scripts after the app has been rendered
setupPayments();
Analytics.load();
});
}).catch((err) => {
console.error('Impossible to fetch user. Clean up localStorage and refresh.', err); // eslint-disable-line no-console
});
Expand Down Expand Up @@ -265,11 +277,6 @@ export default {
this.selectedItemToBuy = null;
}
},
resetCardToBuy ($event) {
if (!$event) {
this.selectedCardToBuy = null;
}
},
itemSelected (item) {
this.selectedItemToBuy = item;
},
Expand All @@ -285,15 +292,20 @@ export default {
customPurchase (item) {
if (item.purchaseType === 'card') {
if (this.user.party._id) {
this.selectedCardToBuy = item;
this.selectedSpellToBuy = item;
this.$root.$emit('hide::modal', 'buy-modal');
this.$root.$emit('show::modal', 'select-member-modal');
} else {
this.error(this.$t('errorNotInParty'));
}
}
},
memberSelected (member) {
this.$store.dispatch('user:castSpell', {key: this.selectedCardToBuy.key, targetId: member.id});
this.selectedCardToBuy = null;
this.$store.dispatch('user:castSpell', {key: this.selectedSpellToBuy.key, targetId: member.id});
this.selectedSpellToBuy = null;
this.$root.$emit('hide::modal', 'select-member-modal');
},
hideLoadingScreen () {
const loadingScreen = document.getElementById('loading-screen');
Expand Down
1 change: 1 addition & 0 deletions website/client/components/appMenu.vue
Expand Up @@ -364,6 +364,7 @@ export default {
this.$root.$emit('show::modal', 'avatar-modal');
},
showProfile (startingPage) {
this.$store.state.profileUser = this.user;
this.$store.state.profileOptions.startingPage = startingPage;
this.$root.$emit('show::modal', 'profile');
},
Expand Down
8 changes: 7 additions & 1 deletion website/client/components/chat/chatMessages.vue
Expand Up @@ -40,7 +40,7 @@
span.action(v-if='user.contributor.admin || (msg.uuid !== user._id && user.flags.communityGuidelinesAccepted)', @click='report(msg)')
.svg-icon(v-html="icons.report")
| {{$t('report')}}
span.action(v-if='msg.uuid === user._id', @click='remove(msg, index)')
span.action(v-if='msg.uuid === user._id || inbox', @click='remove(msg, index)')
.svg-icon(v-html="icons.delete")
| {{$t('delete')}}
span.action.float-right(v-if='likeCount(msg) > 0')
Expand Down Expand Up @@ -375,6 +375,12 @@ export default {
},
async remove (message, index) {
this.chat.splice(index, 1);
if (this.inbox) {
axios.delete(`/api/v3/user/messages/${message.id}`);
return;
}
await this.$store.dispatch('chat:deleteChat', {
groupId: this.groupId,
chatId: message.id,
Expand Down
23 changes: 16 additions & 7 deletions website/client/components/creatorIntro.vue
Expand Up @@ -128,13 +128,8 @@ b-modal#avatar-modal(title="", :hide-header='true', :hide-footer='true', :class=
strong(v-once) {{$t('flower')}}
.row(v-if='activeSubPage === "glasses"')
.col-12.customize-options
.eyewear_special_blackTopFrame.option(@click='equip("eyewear_special_blackTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_blackTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_blackTopFrame"}')
.eyewear_special_blueTopFrame.option(@click='equip("eyewear_special_blueTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_blueTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_blueTopFrame"}')
.eyewear_special_greenTopFrame.option(@click='equip("eyewear_special_greenTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_greenTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_greenTopFrame"}')
.eyewear_special_pinkTopFrame.option(@click='equip("eyewear_special_pinkTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_pinkTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_pinkTopFrame"}')
.eyewear_special_redTopFrame.option(@click='equip("eyewear_special_redTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_redTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_redTopFrame"}')
.eyewear_special_whiteTopFrame.option(@click='equip("eyewear_special_whiteTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_whiteTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_whiteTopFrame"}')
.eyewear_special_yellowTopFrame.option(@click='equip("eyewear_special_yellowTopFrame")', :class='{active: user.preferences.costume ? user.items.gear.costume.eyewear === "eyewear_special_yellowTopFrame" : user.items.gear.equipped.eyewear === "eyewear_special_yellowTopFrame"}')
.option(v-for='option in eyewear', :class='{active: option.active}')
.sprite.customize-option(:class="`eyewear_special_${option.key}`", @click='option.click')
#wheelchairs.row(v-if='activeSubPage === "wheelchair"')
.col-12.customize-options.weelchairs
.option(@click='set({"preferences.chair": "none"})', :class='{active: user.preferences.chair === "none"}')
Expand Down Expand Up @@ -872,6 +867,20 @@ export default {
},
computed: {
...mapState({user: 'user.data'}),
eyewear () {
let keys = ['blackTopFrame', 'blueTopFrame', 'greenTopFrame', 'pinkTopFrame', 'redTopFrame', 'whiteTopFrame', 'yellowTopFrame'];
let options = keys.map(key => {
let newKey = `eyewear_special_${key}`;
let option = {};
option.key = key;
option.active = this.user.preferences.costume ? this.user.items.gear.costume.eyewear === newKey : this.user.items.gear.equipped.eyewear === newKey;
option.click = () => {
return this.equip(newKey);
};
return option;
});
return options;
},
animalEarsUnlockString () {
let animalItemKeys = this.animalEarsKeys.map(key => {
return `items.gear.owned.headAccessory_special_${key}`;
Expand Down
2 changes: 1 addition & 1 deletion website/client/components/groups/startQuestModal.vue
Expand Up @@ -12,7 +12,7 @@
div(v-if='questData')
questDialogContent(:item="questData")
div.text-center
button.btn.btn-primary(@click='questInit()', :disabled="Boolean(group.quest)") {{$t('inviteToPartyOrQuest')}}
button.btn.btn-primary(@click='questInit()', :disabled="!Boolean(selectedQuest)") {{$t('inviteToPartyOrQuest')}}
div.text-center
p {{$t('inviteInformation')}}
.side-panel(v-if='questData')
Expand Down
29 changes: 4 additions & 25 deletions website/client/components/inventory/items/index.vue
Expand Up @@ -139,13 +139,6 @@
div.popover
div.popover-content {{ $t('clickOnEggToHatch', {potionName: currentDraggingPotion.text }) }}

selectMembersModal(
:item="selectedSpell",
:group="user.party",
@change="resetSpell($event)",
@memberSelected="memberSelected($event)",
)

startQuestModal(
:group="user.party"
)
Expand Down Expand Up @@ -192,7 +185,6 @@ import ItemRows from 'client/components/ui/itemRows';
import CountBadge from 'client/components/ui/countBadge';
import cardsModal from './cards-modal';
import SelectMembersModal from 'client/components/selectMembersModal';
import HatchedPetDialog from '../stable/hatchedPetDialog';
import startQuestModal from '../../groups/startQuestModal';
Expand Down Expand Up @@ -234,7 +226,6 @@ export default {
bDropdownItem,
HatchedPetDialog,
CountBadge,
SelectMembersModal,
startQuestModal,
cardsModal,
},
Expand All @@ -252,7 +243,6 @@ export default {
currentDraggingPotion: null,
potionClickMode: false,
hatchedPet: null,
selectedSpell: null,
cardOptions: {
cardType: '',
messageOptions: 0,
Expand All @@ -275,7 +265,7 @@ export default {
this.groups.forEach(group => {
const groupKey = group.key;
group.quantity = 0; // reset the count
group.quantity = 0; // resetf the count
let itemsArray = itemsByType[groupKey] = [];
const contentItems = this.content[groupKey];
Expand Down Expand Up @@ -321,8 +311,8 @@ export default {
}
for (let type in this.content.cardTypes) {
if (this.user.items.special[type] > 0) {
let card = this.user.items.special[`${this.cardType}Received`];
let card = this.user.items.special[`${type}Received`] || [];
if (this.user.items.special[type] > 0 || card.length > 0) {
specialArray.push({
type: 'card',
key: type,
Expand Down Expand Up @@ -435,7 +425,7 @@ export default {
item.quantity--;
this.$forceUpdate();
} else {
this.selectedSpell = item;
this.$root.$emit('selectMembersModal::showItem', item);
}
} else if (groupKey === 'quests') {
this.$root.$emit('show::modal', 'start-quest-modal');
Expand All @@ -452,17 +442,6 @@ export default {
lastMouseMoveEvent = $event;
}
},
resetSpell ($event) {
if (!$event) {
this.selectedSpell = null;
}
},
memberSelected (member) {
this.$store.dispatch('user:castSpell', {key: this.selectedSpell.key, targetId: member.id});
this.selectedSpell = null;
},
},
};
</script>
21 changes: 13 additions & 8 deletions website/client/components/payments/amazonModal.vue
Expand Up @@ -19,7 +19,6 @@
<script>
import axios from 'axios';
import { mapState } from 'client/libs/store';
import bModal from 'bootstrap-vue/lib/components/modal';
const AMAZON_PAYMENTS = process.env.AMAZON_PAYMENTS; // eslint-disable-line
Expand All @@ -32,7 +31,7 @@ export default {
data () {
return {
OffAmazonPayments: {},
isAmazonReady: false,
isAmazonSetup: false,
amazonButtonEnabled: false,
amazonPaymentsbillingAgreementId: '',
amazonPaymentspaymentSelected: false,
Expand All @@ -41,16 +40,22 @@ export default {
},
computed: {
...mapState({user: 'user.data'}),
...mapState(['isAmazonReady']),
},
mounted () {
window.onAmazonLoginReady = () => {
window.amazon.Login.setClientId(AMAZON_PAYMENTS.CLIENT_ID);
this.OffAmazonPayments = window.OffAmazonPayments;
this.isAmazonReady = true;
this.showButton();
};
if (this.isAmazonReady) return this.setupAmazon();
this.$store.watch(state => state.isAmazonReady, (isAmazonReady) => {
if (isAmazonReady) return this.setupAmazon();
});
},
methods: {
setupAmazon () {
if (this.isAmazonSetup) return false;
this.isAmazonSetup = true;
this.OffAmazonPayments = window.OffAmazonPayments;
this.showButton();
},
showButton () {
// @TODO: prevent modal close form clicking outside
let amazonButton = this.OffAmazonPayments.Button( // eslint-disable-line
Expand Down
6 changes: 3 additions & 3 deletions website/client/components/selectMembersModal.vue
Expand Up @@ -2,8 +2,6 @@
div
b-modal#select-member-modal(
size='lg',
:visible="true",
v-if="item != null",
:hideFooter="true",
@change="onChange($event)"
)
Expand Down Expand Up @@ -162,7 +160,9 @@ export default {
},
watch: {
item () {
this.getMembers();
if (this.item.key) {
this.getMembers();
}
},
},
methods: {
Expand Down
25 changes: 8 additions & 17 deletions website/client/components/settings/site.vue
Expand Up @@ -41,18 +41,6 @@
hr

div
.checkbox
label
input(type='checkbox', @click='hideHeader() ', v-model='user.preferences.hideHeader')
span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('showHeaderPop')") {{ $t('showHeader') }}
.checkbox
label
input(type='checkbox', @click='toggleStickyHeader()', v-model='user.preferences.stickyHeader', :disabled="user.preferences.hideHeader")
span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('stickyHeaderPop')") {{ $t('stickyHeader') }}
.checkbox
label
input(type='checkbox', v-model='user.preferences.newTaskEdit', @click='set("newTaskEdit")')
span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('newTaskEditPop')") {{ $t('newTaskEdit') }}
.checkbox
label
input(type='checkbox', v-model='user.preferences.tagsCollapsed', @change='set("tagsCollapsed")')
Expand Down Expand Up @@ -186,9 +174,9 @@
h5 {{ $t('dangerZone') }}
div
button.btn.btn-danger(@click='openResetModal()',
popover-trigger='mouseenter', popover-placement='right', :popover="$t('resetAccPop')") {{ $t('resetAccount') }}
popover-trigger='mouseenter', popover-placement='right', v-b-popover.hover.auto="$t('resetAccPop')") {{ $t('resetAccount') }}
button.btn.btn-danger(@click='openDeleteModal()',
popover-trigger='mouseenter', :popover="$t('deleteAccPop')") {{ $t('deleteAccount') }}
popover-trigger='mouseenter', v-b-popover.hover.auto="$t('deleteAccPop')") {{ $t('deleteAccount') }}
</template>

<style scoped>
Expand All @@ -203,6 +191,7 @@ import moment from 'moment';
import axios from 'axios';
import { mapState } from 'client/libs/store';
import bPopover from 'bootstrap-vue/lib/directives/popover';
import restoreModal from './restoreModal';
import resetModal from './resetModal';
import deleteModal from './deleteModal';
Expand All @@ -217,6 +206,9 @@ export default {
resetModal,
deleteModal,
},
directives: {
bPopover,
},
data () {
let dayStartOptions = [];
for (let number = 0; number < 24; number += 1) {
Expand Down Expand Up @@ -298,8 +290,7 @@ export default {
// Guide.goto('intro', 0, true);
},
showBailey () {
this.user.flags.newStuff = true;
this.set('flags', 'newStuff');
this.$root.$emit('show::modal', 'new-stuff');
},
hasBackupAuthOption (networkKeyToCheck) {
if (this.user.auth.local.username) {
Expand All @@ -322,7 +313,7 @@ export default {
nextCron = nextCron.add(1, 'day');
}
return nextCron.format('x');
return nextCron.format(this.user.preferences.dateFormat.toUpperCase());
},
openDayStartModal () {
let nextCron = this.calculateNextCron();
Expand Down

0 comments on commit 8245999

Please sign in to comment.