From b1652ddd97c247d17a6f9bc0d6f4e9d260f7b9ac Mon Sep 17 00:00:00 2001 From: Keith Holliday Date: Tue, 19 Sep 2017 15:35:32 -0500 Subject: [PATCH] Sept 18 fixes (#9051) * Added hover state to buy buttons * Translated profile * Fixed sending private message from member modal * Added payment functions * Added translation to home page * Fixed translation * Some front page styles * Fixed inbox sorting and searching * Added seasonals * Fixed buy gem modal conflict * Fixed paypal link * Fixed footer style crossover * Fixed quest update * Fixed sanity --- website/client/components/creatorIntro.vue | 160 ++++++++++++++---- .../client/components/groups/membersModal.vue | 2 +- .../components/groups/startQuestModal.vue | 2 +- .../components/payments/buyGemsModal.vue | 74 +++++--- .../components/private-message-modal.vue | 14 +- .../components/settings/subscription.vue | 8 +- website/client/components/static/home.vue | 103 +++++------ .../components/static/staticWrapper.vue | 36 ++++ website/client/components/userMenu/inbox.vue | 9 +- .../client/components/userMenu/profile.vue | 94 +++++----- website/client/mixins/payments.js | 13 +- website/client/store/index.js | 1 + website/common/locales/en/character.json | 22 ++- website/common/locales/en/front.json | 27 ++- website/common/locales/en/generic.json | 4 +- 15 files changed, 382 insertions(+), 187 deletions(-) diff --git a/website/client/components/creatorIntro.vue b/website/client/components/creatorIntro.vue index 473007178b..c53bebf531 100644 --- a/website/client/components/creatorIntro.vue +++ b/website/client/components/creatorIntro.vue @@ -59,7 +59,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("shirt", specialShirtKeys)', @click='unlock(`shirt.${specialShirtKeys.join(",shirt.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("shirt", specialShirtKeys)', @click='unlock(`shirt.${specialShirtKeys.join(",shirt.")}`)') {{ $t('purchaseAll') }} #skin.section.customize-section(v-if='activeTopPage === "skin"') .row.sub-menu.col-6.offset-3.text-center .col-6.offset-3.text-center.sub-menu-item(:class='{active: activeSubPage === "color"}') @@ -69,26 +69,17 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .option(v-for='option in ["ddc994", "f5a76e", "ea8349", "c06534", "98461a", "915533", "c3e1dc", "6bd049"]', :class='{active: user.preferences.skin === option}') .skin.sprite.customize-option(:class="`skin_${option}`", @click='set({"preferences.skin": option})') - .row(v-if='editing') + .row(v-if='editing && set.key !== "undefined"', v-for='set in seasonalSkins') .col-12.customize-options - .option(v-for='option in rainbowSkins', - :class='{active: option.active, locked: option.locked}') + //h3(v-if='!hideSet(set)') {{$t(set.key)}} + .option(v-for='option in set.options', + :class='{active: option.active, locked: option.locked, hide: option.hide}') .skin.sprite.customize-option(:class="`skin_${option.key}`", @click='option.click') .gem-lock(v-if='option.locked') .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("skin", rainbowSkinKeys)', @click='unlock(`skin.${rainbowSkinKeys.join(",skin.")}`)') $t('purchaseAll') - .row(v-if='editing') - .col-12.customize-options - .option(v-for='option in animalSkins', - :class='{active: option.active, locked: option.locked}') - .skin.sprite.customize-option(:class="`skin_${option.key}`", @click='option.click') - .gem-lock(v-if='option.locked') - .svg-icon.gem(v-html='icons.gem') - span 2 - .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("skin", animalSkinKeys)', @click='unlock(`skin.${animalSkinKeys.join(",skin.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!hideSet(set) && !userOwnsSet("skin", set.keys)', @click='unlock(`skin.${set.keys.join(",skin.")}`)') {{ $t('purchaseAll') }} #hair.section.customize-section(v-if='activeTopPage === "hair"') .row.sub-menu.col-6.offset-3.text-center .col-2.offset-1.text-center.sub-menu-item(@click='changeSubPage("color")', :class='{active: activeSubPage === "color"}') @@ -101,20 +92,33 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru strong(v-once) {{$t('ponytail')}} .col-2.text-center.sub-menu-item(@click='changeSubPage("facialhair")', :class='{active: activeSubPage === "facialhair"}', v-if='editing') strong(v-once) {{$t('facialhair')}} - #hair-color.row(v-if='activeSubPage === "color"') - .col-12.customize-options - .option(v-for='option in ["white", "brown", "blond", "red", "black"]', - :class='{active: user.preferences.hair.color === option}') - .color-bangs.sprite.customize-option(:class="`hair_bangs_1_${option}`", @click='set({"preferences.hair.color": option})') - .col-12.customize-options(v-if='editing') - .option(v-for='option in premiumHairColors', - :class='{active: option.active === option, locked: option.locked}') - .color-bangs.sprite.customize-option(:class="`hair_bangs_1_${option.key}`", @click='option.click') - .gem-lock(v-if='option.locked') - .svg-icon.gem(v-html='icons.gem') - span 2 - .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", premiumHairColorKeys, "color")', @click='unlock(`hair.color.${premiumHairColorKeys.join(",hair.color.")}`)') $t('purchaseAll') + #hair-color.section.customize-section(v-if='activeSubPage === "color"') + .row + .col-12.customize-options + .option(v-for='option in ["white", "brown", "blond", "red", "black"]', + :class='{active: user.preferences.hair.color === option}') + .color-bangs.sprite.customize-option(:class="`hair_bangs_1_${option}`", @click='set({"preferences.hair.color": option})') + //.row(v-if='editing') + .col-12.customize-options(v-if='editing') + .option(v-for='option in premiumHairColors', + :class='{active: option.active === option, locked: option.locked}') + .color-bangs.sprite.customize-option(:class="`hair_bangs_1_${option.key}`", @click='option.click') + .gem-lock(v-if='option.locked') + .svg-icon.gem(v-html='icons.gem') + span 2 + .col-12.text-center + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", premiumHairColorKeys, "color")', @click='unlock(`hair.color.${premiumHairColorKeys.join(",hair.color.")}`)') {{ $t('purchaseAll') }} + .row(v-if='editing && set.key !== "undefined"', v-for='set in seasonalHairColors') + .col-12.customize-options + //h3(v-if='!hideSet(set)') {{set.text}} + .option(v-for='option in set.options', + :class='{active: option.active, locked: option.locked, hide: option.hide}') + .skin.sprite.customize-option(:class="`hair_bangs_1_${option.key}`", @click='option.click') + .gem-lock(v-if='option.locked') + .svg-icon.gem(v-html='icons.gem') + span 2 + .col-12.text-center + button.btn.btn-secondary.purchase-all(v-if='!hideSet(set) && !userOwnsSet("hair", set.keys, "color")', @click='unlock(`hair.color.${set.keys.join(",hair.color.")}`)') {{ $t('purchaseAll') }} #style.row(v-if='activeSubPage === "style"') .col-12.customize-options(v-if='editing') .option(v-for='option in baseHair3', @@ -124,7 +128,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair3Keys, "base")', @click='unlock(`hair.base.${baseHair3Keys.join(",hair.base.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair3Keys, "base")', @click='unlock(`hair.base.${baseHair3Keys.join(",hair.base.")}`)') {{ $t('purchaseAll') }} .col-12.customize-options(v-if='editing') .option(v-for='option in baseHair4', :class='{active: option.active, locked: option.locked}') @@ -133,7 +137,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair4Keys, "base")', @click='unlock(`hair.base.${baseHair4Keys.join(",hair.base.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair4Keys, "base")', @click='unlock(`hair.base.${baseHair4Keys.join(",hair.base.")}`)') {{ $t('purchaseAll') }} #bangs.row(v-if='activeSubPage === "bangs"') .col-12.customize-options .head_0.option(@click='set({"preferences.hair.bangs": 0})', @@ -155,7 +159,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair2Keys, "base")', @click='unlock(`hair.base.${baseHair2Keys.join(",hair.base.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair2Keys, "base")', @click='unlock(`hair.base.${baseHair2Keys.join(",hair.base.")}`)') {{ $t('purchaseAll') }} #facialhair.row(v-if='activeSubPage === "facialhair"') .col-12.customize-options(v-if='editing') .option(v-for='option in baseHair5', @@ -165,7 +169,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair5Keys, "beard")', @click='unlock(`hair.beard.${baseHair5Keys.join(",hair.beard.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair5Keys, "beard")', @click='unlock(`hair.beard.${baseHair5Keys.join(",hair.beard.")}`)') {{ $t('purchaseAll') }} .col-12.customize-options(v-if='editing') .option(v-for='option in baseHair6', :class='{active: option.active, locked: option.locked}') @@ -174,7 +178,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair6Keys, "mustache")', @click='unlock(`hair.mustache.${baseHair6Keys.join(",hair.mustache.")}`)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!userOwnsSet("hair", baseHair6Keys, "mustache")', @click='unlock(`hair.mustache.${baseHair6Keys.join(",hair.mustache.")}`)') {{ $t('purchaseAll') }} #extra.section.container.customize-section(v-if='activeTopPage === "extra"') .row.sub-menu.col-6.offset-3.text-center .col-4.text-center.sub-menu-item(@click='changeSubPage("glasses")', :class='{active: activeSubPage === "glasses"}') @@ -200,7 +204,7 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru .svg-icon.gem(v-html='icons.gem') span 2 .col-12.text-center - button.btn.btn-secondary.purchase-all(v-if='!animalEarsOwned', @click='unlock(animalEarsUnlockString)') $t('purchaseAll') + button.btn.btn-secondary.purchase-all(v-if='!animalEarsOwned', @click='unlock(animalEarsUnlockString)') {{ $t('purchaseAll') }} #wheelchairs.row(v-if='activeSubPage === "wheelchair"') .col-12.customize-options.weelchairs .option(@click='set({"preferences.chair": "none"})', :class='{active: user.preferences.chair === "none"}') @@ -508,6 +512,10 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru box-shadow: 0 2px 2px 0 rgba(26, 24, 29, 0.16), 0 1px 4px 0 rgba(26, 24, 29, 0.12); } + .option.hide { + display: none !important; + } + .customize-options .option { display: inline-block; vertical-align: bottom; @@ -756,14 +764,18 @@ b-modal#avatar-modal(title="", size='lg', :hide-header='true', :hide-footer='tru