2019-10-12 14:33:05 +00:00
|
|
|
<template>
|
2019-10-12 15:05:15 +00:00
|
|
|
<!-- @TODO: Move to group plans folder-->
|
|
|
|
|
<div>
|
2019-10-12 14:33:05 +00:00
|
|
|
<div>
|
|
|
|
|
<div class="header">
|
|
|
|
|
<h1 class="text-center">
|
|
|
|
|
Need more for your Group?
|
2019-10-12 15:05:15 +00:00
|
|
|
</h1>
|
|
|
|
|
<div class="row">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="col-8 offset-2 text-center">
|
|
|
|
|
<h2 class="sub-text">
|
|
|
|
|
{{ $t('groupBenefitsDescription') }}
|
|
|
|
|
</h2>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="container benefits">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-4">
|
|
|
|
|
<div class="box">
|
|
|
|
|
<img
|
|
|
|
|
class="box1"
|
|
|
|
|
src="~@/assets/images/group-plans/group-14@3x.png"
|
2019-10-12 15:05:15 +00:00
|
|
|
>
|
|
|
|
|
<hr>
|
|
|
|
|
<h2>{{ $t('teamBasedTasks') }}</h2>
|
2019-10-13 16:04:04 +00:00
|
|
|
<p>Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!</p><!-- eslint-disable-line max-len -->
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="col-4">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="box">
|
|
|
|
|
<img
|
|
|
|
|
class="box2"
|
|
|
|
|
src="~@/assets/images/group-plans/group-12@3x.png"
|
2019-10-12 15:05:15 +00:00
|
|
|
>
|
|
|
|
|
<hr>
|
|
|
|
|
<h2>Group Management Controls</h2>
|
2019-10-13 16:04:04 +00:00
|
|
|
<p>Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.</p><!-- eslint-disable-line max-len -->
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="col-4">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="box">
|
|
|
|
|
<img
|
|
|
|
|
class="box3"
|
|
|
|
|
src="~@/assets/images/group-plans/group-13@3x.png"
|
2019-10-12 15:05:15 +00:00
|
|
|
>
|
|
|
|
|
<hr>
|
|
|
|
|
<h2>In-Game Benefits</h2>
|
2019-10-13 16:04:04 +00:00
|
|
|
<p>Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.</p><!-- eslint-disable-line max-len -->
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div
|
2019-10-12 14:33:05 +00:00
|
|
|
v-if="upgradingGroup._id"
|
|
|
|
|
id="upgrading-group"
|
|
|
|
|
class="container payment-options"
|
|
|
|
|
>
|
|
|
|
|
<h1 class="text-center purple-header">
|
|
|
|
|
Are you ready to upgrade?
|
2019-10-12 15:05:15 +00:00
|
|
|
</h1>
|
|
|
|
|
<div class="row">
|
Fall Festival Gem Promo (#138)
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
2020-09-21 14:22:13 +00:00
|
|
|
<div class="col-12 text-center mb-4 d-flex justify-content-center">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="purple-box">
|
|
|
|
|
<div class="amount-section">
|
|
|
|
|
<div class="dollar">
|
|
|
|
|
$
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="number">
|
2019-10-12 14:33:05 +00:00
|
|
|
9
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="name">
|
2019-10-12 14:33:05 +00:00
|
|
|
Group Owner Subscription
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="plus">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div
|
|
|
|
|
class="svg-icon"
|
|
|
|
|
v-html="icons.positiveIcon"
|
|
|
|
|
></div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="amount-section">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="dollar">
|
|
|
|
|
$
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="number">
|
2019-10-12 14:33:05 +00:00
|
|
|
3
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="name">
|
2019-10-12 14:33:05 +00:00
|
|
|
Each Individual Group Member
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="box payment-providers">
|
|
|
|
|
<h3>Choose your payment method</h3>
|
Fall Festival Gem Promo (#138)
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
2020-09-21 14:22:13 +00:00
|
|
|
<payments-buttons
|
|
|
|
|
:stripe-fn="() => pay(PAYMENTS.STRIPE)"
|
|
|
|
|
:amazon-data="pay(PAYMENTS.AMAZON)"
|
|
|
|
|
/>
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div
|
2019-10-12 14:33:05 +00:00
|
|
|
v-if="!upgradingGroup._id"
|
|
|
|
|
class="container col-6 offset-3 create-option"
|
|
|
|
|
>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<h1 class="col-12 text-center purple-header">
|
|
|
|
|
Create your Group today!
|
|
|
|
|
</h1>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="col-12 text-center">
|
|
|
|
|
<button
|
|
|
|
|
class="btn btn-primary create-group"
|
|
|
|
|
@click="launchModal('create')"
|
|
|
|
|
>
|
|
|
|
|
Create Your New Group
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="row pricing">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="col-5">
|
|
|
|
|
<div class="dollar">
|
|
|
|
|
$
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="number">
|
2019-10-12 14:33:05 +00:00
|
|
|
9
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
<div class="name">
|
|
|
|
|
<div>Group Owner</div>
|
|
|
|
|
<div>Subscription</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-1">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="plus">
|
|
|
|
|
+
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="col-6">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="dollar">
|
|
|
|
|
$
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="number">
|
2019-10-12 14:33:05 +00:00
|
|
|
3
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="name">
|
|
|
|
|
<div>Each Additional</div>
|
|
|
|
|
<div>Member</div>
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<b-modal
|
2019-10-12 14:33:05 +00:00
|
|
|
id="group-plan-modal"
|
2020-12-14 14:59:17 +00:00
|
|
|
:title="activePage === PAGES.CREATE_GROUP ? 'Create your Group' : 'Select Payment'"
|
2019-10-12 14:33:05 +00:00
|
|
|
size="md"
|
|
|
|
|
hide-footer="hide-footer"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
v-if="activePage === PAGES.CREATE_GROUP"
|
|
|
|
|
class="col-12"
|
|
|
|
|
>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label
|
|
|
|
|
class="control-label"
|
|
|
|
|
for="new-group-name"
|
2019-10-12 15:05:15 +00:00
|
|
|
>Name</label>
|
|
|
|
|
<input
|
2019-10-12 14:33:05 +00:00
|
|
|
id="new-group-name"
|
|
|
|
|
v-model="newGroup.name"
|
|
|
|
|
class="form-control input-medium option-content"
|
|
|
|
|
required="required"
|
|
|
|
|
type="text"
|
|
|
|
|
placeholder="Name"
|
|
|
|
|
>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="new-group-description">{{ $t('description') }}</label>
|
|
|
|
|
<textarea
|
2019-10-12 14:33:05 +00:00
|
|
|
id="new-group-description"
|
|
|
|
|
v-model="newGroup.description"
|
|
|
|
|
class="form-control option-content"
|
|
|
|
|
cols="3"
|
|
|
|
|
:placeholder="$t('description')"
|
|
|
|
|
></textarea>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div
|
2019-10-12 14:33:05 +00:00
|
|
|
v-if="type === 'guild'"
|
|
|
|
|
class="form-group"
|
|
|
|
|
>
|
|
|
|
|
<div class="custom-control custom-radio">
|
|
|
|
|
<input
|
|
|
|
|
v-model="newGroup.privacy"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
type="radio"
|
|
|
|
|
name="new-group-privacy"
|
|
|
|
|
value="private"
|
2019-10-12 15:05:15 +00:00
|
|
|
>
|
|
|
|
|
<label class="custom-control-label">{{ $t('inviteOnly') }}</label>
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
2019-10-12 14:33:05 +00:00
|
|
|
<div class="custom-control custom-checkbox">
|
|
|
|
|
<input
|
|
|
|
|
id="create-group-leaderOnlyChallenges-checkbox"
|
|
|
|
|
v-model="newGroup.leaderOnly.challenges"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
type="checkbox"
|
2019-10-12 15:05:15 +00:00
|
|
|
>
|
|
|
|
|
<label
|
2019-10-12 14:33:05 +00:00
|
|
|
class="custom-control-label"
|
|
|
|
|
for="create-group-leaderOnlyChallenges-checkbox"
|
|
|
|
|
>{{ $t('leaderOnlyChallenges') }}</label>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div
|
2019-10-12 14:33:05 +00:00
|
|
|
v-if="type === 'party'"
|
|
|
|
|
class="form-group"
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
class="btn btn-secondary form-control"
|
2021-11-04 21:33:08 +00:00
|
|
|
:value="$t('create')"
|
2019-10-12 14:33:05 +00:00
|
|
|
@click="createGroup()"
|
|
|
|
|
></button>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
2019-10-12 14:33:05 +00:00
|
|
|
<button
|
|
|
|
|
class="btn btn-primary btn-lg btn-block"
|
|
|
|
|
:disabled="!newGroupIsReady"
|
|
|
|
|
@click="createGroup()"
|
|
|
|
|
>
|
2021-11-04 21:33:08 +00:00
|
|
|
{{ $t('create') }}
|
2019-10-12 14:33:05 +00:00
|
|
|
</button>
|
|
|
|
|
</div>
|
2019-10-12 15:05:15 +00:00
|
|
|
</div>
|
|
|
|
|
<div
|
2019-10-12 14:33:05 +00:00
|
|
|
v-if="activePage === PAGES.PAY"
|
|
|
|
|
class="col-12"
|
|
|
|
|
>
|
|
|
|
|
<div class="text-center">
|
2019-10-12 15:05:15 +00:00
|
|
|
<h3>Choose your payment method</h3>
|
Fall Festival Gem Promo (#138)
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
2020-09-21 14:22:13 +00:00
|
|
|
<payments-buttons
|
|
|
|
|
:stripe-fn="() => pay(PAYMENTS.STRIPE)"
|
|
|
|
|
:amazon-data="pay(PAYMENTS.AMAZON)"
|
|
|
|
|
/>
|
2019-10-12 14:33:05 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</b-modal>
|
|
|
|
|
</div>
|
2017-07-25 14:24:40 +00:00
|
|
|
</template>
|
|
|
|
|
|
2017-07-29 22:08:36 +00:00
|
|
|
<style lang="scss" scoped>
|
2017-09-12 04:00:34 +00:00
|
|
|
#upgrading-group {
|
|
|
|
|
.amount-section {
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dollar {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: -1em;
|
|
|
|
|
top: 1em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.purple-box {
|
|
|
|
|
color: #bda8ff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.number {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.plus .svg-icon{
|
|
|
|
|
width: 24px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.payment-providers {
|
|
|
|
|
width: 350px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-29 22:08:36 +00:00
|
|
|
.header {
|
2018-10-23 11:50:02 +00:00
|
|
|
background: #432874;
|
|
|
|
|
background: linear-gradient(180deg, #4F2A93 0%, #432874 100%);
|
2017-07-29 22:08:36 +00:00
|
|
|
color: #fff;
|
|
|
|
|
padding: 2em;
|
2018-10-23 11:50:02 +00:00
|
|
|
height: 340px;
|
|
|
|
|
margin-bottom: 2em;
|
2018-03-30 20:34:46 +00:00
|
|
|
margin-left: -12px;
|
|
|
|
|
margin-right: -12px;
|
2017-07-29 22:08:36 +00:00
|
|
|
|
|
|
|
|
h1 {
|
|
|
|
|
font-size: 48px;
|
2018-10-23 11:50:02 +00:00
|
|
|
line-height: 1.16;
|
|
|
|
|
margin-top: 12px;
|
2017-07-29 22:08:36 +00:00
|
|
|
color: #fff;
|
|
|
|
|
}
|
2018-10-23 11:50:02 +00:00
|
|
|
|
|
|
|
|
h2.sub-text {
|
|
|
|
|
color: #D5C8FF;
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
line-height: 1.33;
|
|
|
|
|
}
|
2017-07-29 22:08:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.benefits {
|
2018-10-23 11:50:02 +00:00
|
|
|
margin-top: -10em;
|
2017-08-29 20:23:09 +00:00
|
|
|
|
|
|
|
|
.box {
|
|
|
|
|
height: 416px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
h2 {
|
|
|
|
|
color: #6133b4;
|
|
|
|
|
}
|
2017-07-29 22:08:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.box {
|
|
|
|
|
border-radius: 2px;
|
|
|
|
|
background-color: #ffffff;
|
|
|
|
|
box-shadow: 0 2px 2px 0 rgba(26, 24, 29, 0.16), 0 1px 4px 0 rgba(26, 24, 29, 0.12);
|
|
|
|
|
padding: 2em;
|
|
|
|
|
text-align: center;
|
2017-11-21 20:02:40 +00:00
|
|
|
display: inline-block !important;
|
|
|
|
|
vertical-align: bottom;
|
|
|
|
|
margin-right: 1em;
|
2017-08-29 20:23:09 +00:00
|
|
|
|
|
|
|
|
img {
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
margin-top: 2em;
|
|
|
|
|
margin-bottom: 1em;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
img.box1 {
|
|
|
|
|
width: 266px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
img.box2 {
|
|
|
|
|
margin-top: 3.5em;
|
|
|
|
|
width: 262px;
|
|
|
|
|
margin-bottom: 3.7em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
img.box3 {
|
|
|
|
|
width: 225px;
|
|
|
|
|
margin-bottom: 3.0em;
|
2017-07-29 22:08:36 +00:00
|
|
|
}
|
|
|
|
|
|
2017-08-26 02:56:21 +00:00
|
|
|
button.create-group {
|
|
|
|
|
width: 330px;
|
|
|
|
|
height: 96px;
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-29 22:08:36 +00:00
|
|
|
.purple-header {
|
|
|
|
|
color: #6133b4;
|
|
|
|
|
font-size: 48px;
|
|
|
|
|
margin-top: 1em;
|
|
|
|
|
}
|
|
|
|
|
|
2017-08-26 02:56:21 +00:00
|
|
|
.pricing {
|
|
|
|
|
margin-top: 2em;
|
|
|
|
|
margin-bottom: 4em;
|
|
|
|
|
|
|
|
|
|
.dollar, .number, .name {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
vertical-align: bottom;
|
|
|
|
|
color: #a5a1ac;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.plus {
|
|
|
|
|
font-size: 34px;
|
|
|
|
|
color: #a5a1ac;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dollar {
|
|
|
|
|
margin-bottom: 1.5em;
|
|
|
|
|
font-size: 32px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.name {
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
margin-bottom: .8em;
|
|
|
|
|
margin-left: .5em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.number {
|
|
|
|
|
font-size: 72px;
|
|
|
|
|
font-weight: bolder;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-29 22:08:36 +00:00
|
|
|
.payment-options {
|
|
|
|
|
margin-bottom: 4em;
|
|
|
|
|
|
|
|
|
|
.purple-box {
|
|
|
|
|
background-color: #4f2a93;
|
|
|
|
|
color: #fff;
|
|
|
|
|
padding: .5em;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
width: 200px;
|
2017-09-12 04:00:34 +00:00
|
|
|
height: 215px;
|
2017-07-29 22:08:36 +00:00
|
|
|
|
|
|
|
|
.dollar {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.number {
|
|
|
|
|
font-size: 60px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.name {
|
2017-09-12 04:00:34 +00:00
|
|
|
width: 100px;
|
2017-07-29 22:08:36 +00:00
|
|
|
margin-left: .3em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.plus {
|
|
|
|
|
width: 100%;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
div {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.box, .purple-box {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
vertical-align: bottom;
|
|
|
|
|
}
|
2017-08-26 02:56:21 +00:00
|
|
|
}
|
2017-07-29 22:08:36 +00:00
|
|
|
</style>
|
|
|
|
|
|
2017-07-25 14:24:40 +00:00
|
|
|
<script>
|
2017-08-14 19:19:41 +00:00
|
|
|
import paymentsMixin from '../../mixins/payments';
|
2019-10-01 13:38:48 +00:00
|
|
|
import { mapState } from '@/libs/store';
|
|
|
|
|
import positiveIcon from '@/assets/svg/positive.svg';
|
Fall Festival Gem Promo (#138)
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
2020-09-21 14:22:13 +00:00
|
|
|
import paymentsButtons from '@/components/payments/buttons/list';
|
2017-08-14 19:19:41 +00:00
|
|
|
|
2017-07-25 14:24:40 +00:00
|
|
|
export default {
|
2019-03-11 17:23:47 +00:00
|
|
|
components: {
|
Fall Festival Gem Promo (#138)
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
2020-09-21 14:22:13 +00:00
|
|
|
paymentsButtons,
|
2019-03-11 17:23:47 +00:00
|
|
|
},
|
2019-10-09 18:08:36 +00:00
|
|
|
mixins: [paymentsMixin],
|
2017-07-25 14:24:40 +00:00
|
|
|
data () {
|
|
|
|
|
return {
|
2017-08-14 19:19:41 +00:00
|
|
|
amazonPayments: {},
|
2017-09-12 04:00:34 +00:00
|
|
|
icons: Object.freeze({
|
|
|
|
|
positiveIcon,
|
|
|
|
|
}),
|
2017-07-25 14:24:40 +00:00
|
|
|
PAGES: {
|
|
|
|
|
CREATE_GROUP: 'create-group',
|
|
|
|
|
UPGRADE_GROUP: 'upgrade-group',
|
2017-08-26 02:56:21 +00:00
|
|
|
PAY: 'pay',
|
2017-07-25 14:24:40 +00:00
|
|
|
},
|
|
|
|
|
PAYMENTS: {
|
|
|
|
|
AMAZON: 'amazon',
|
|
|
|
|
STRIPE: 'stripe',
|
|
|
|
|
},
|
2017-07-29 22:08:36 +00:00
|
|
|
paymentMethod: '',
|
2017-07-25 14:24:40 +00:00
|
|
|
newGroup: {
|
|
|
|
|
type: 'guild',
|
|
|
|
|
privacy: 'private',
|
|
|
|
|
name: '',
|
|
|
|
|
leaderOnly: {
|
|
|
|
|
challenges: false,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
activePage: '',
|
|
|
|
|
type: 'guild', // Guild or Party @TODO enum this
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
newGroupIsReady () {
|
|
|
|
|
return Boolean(this.newGroup.name);
|
|
|
|
|
},
|
2017-08-26 02:56:21 +00:00
|
|
|
upgradingGroup () {
|
|
|
|
|
return this.$store.state.upgradingGroup;
|
|
|
|
|
},
|
|
|
|
|
// @TODO: can we move this to payment mixin?
|
2019-10-09 18:08:36 +00:00
|
|
|
...mapState({ user: 'user.data' }),
|
2017-07-25 14:24:40 +00:00
|
|
|
},
|
2019-10-11 18:35:49 +00:00
|
|
|
mounted () {
|
|
|
|
|
this.activePage = this.PAGES.BENEFITS;
|
2020-10-26 10:22:46 +00:00
|
|
|
this.$store.dispatch('common:setTitle', {
|
|
|
|
|
section: this.$t('groupPlans'),
|
|
|
|
|
});
|
2019-10-11 18:35:49 +00:00
|
|
|
},
|
2017-07-25 14:24:40 +00:00
|
|
|
methods: {
|
2017-08-26 02:56:21 +00:00
|
|
|
launchModal () {
|
|
|
|
|
this.changePage(this.PAGES.CREATE_GROUP);
|
2017-11-08 17:40:37 +00:00
|
|
|
this.$root.$emit('bv::show::modal', 'group-plan-modal');
|
2017-08-26 02:56:21 +00:00
|
|
|
},
|
2017-07-25 14:24:40 +00:00
|
|
|
changePage (page) {
|
|
|
|
|
this.activePage = page;
|
|
|
|
|
window.scrollTo(0, 0);
|
|
|
|
|
},
|
2017-08-26 02:56:21 +00:00
|
|
|
createGroup () {
|
|
|
|
|
this.changePage(this.PAGES.PAY);
|
2017-07-25 14:24:40 +00:00
|
|
|
},
|
2017-08-26 02:56:21 +00:00
|
|
|
pay (paymentMethod) {
|
2018-12-09 19:08:01 +00:00
|
|
|
const subscriptionKey = 'group_monthly'; // @TODO: Get from content API?
|
|
|
|
|
const paymentData = {
|
2017-10-02 17:51:17 +00:00
|
|
|
subscription: subscriptionKey,
|
|
|
|
|
coupon: null,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (this.upgradingGroup && this.upgradingGroup._id) {
|
|
|
|
|
paymentData.groupId = this.upgradingGroup._id;
|
2018-12-09 19:08:01 +00:00
|
|
|
paymentData.group = this.upgradingGroup;
|
2017-10-02 17:51:17 +00:00
|
|
|
} else {
|
|
|
|
|
paymentData.groupToCreate = this.newGroup;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.paymentMethod = paymentMethod;
|
2019-10-11 18:35:49 +00:00
|
|
|
|
|
|
|
|
if (this.paymentMethod === this.PAYMENTS.AMAZON) {
|
2017-11-21 20:02:40 +00:00
|
|
|
paymentData.type = 'subscription';
|
2019-03-11 17:23:47 +00:00
|
|
|
return paymentData;
|
2017-07-25 14:24:40 +00:00
|
|
|
}
|
2019-10-11 18:35:49 +00:00
|
|
|
|
|
|
|
|
if (this.paymentMethod === this.PAYMENTS.STRIPE) {
|
2020-12-14 14:59:17 +00:00
|
|
|
this.redirectToStripe(paymentData);
|
2019-10-11 18:35:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return null;
|
2017-07-25 14:24:40 +00:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|