geer-builder 1.2.849 → 1.2.850
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GCodeVault.vue +34 -10
- package/GReferralLink.vue +67 -62
- package/dialogs/AddSlotDialog.vue +24 -15
- package/package.json +1 -1
package/GCodeVault.vue
CHANGED
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
<div class="group">
|
|
14
14
|
<div class="label">Type</div>
|
|
15
15
|
<div v-if="code.hasOwnProperty('product') && code.product.type == 'variant'" class="value">{{code.hasOwnProperty('product') ? code.product.parent_type : 'membership'}} {{code.slot_quantity > 1 ? '(' + code.slot_quantity + ')' : ''}}</div>
|
|
16
|
-
<div v-else class="value">{{
|
|
16
|
+
<div v-else class="value">{{ getCodeType(code) }}</div>
|
|
17
17
|
<!-- <div class="value">{{code.hasOwnProperty('product') ? code.product.type : 'membership'}} {{code.slot_quantity > 1 ? '(' + code.slot_quantity + ')' : ''}}</div> -->
|
|
18
|
-
<div class="label">Code For</div>
|
|
19
|
-
<div class="value text-primary" style="font-size: 1em; font-weight:500">{{ code
|
|
18
|
+
<div class="label">{{is_digify ? 'Package Type' : 'Code For'}}</div>
|
|
19
|
+
<div class="value text-primary" style="font-size: 1em; font-weight:500">{{ getCodeFor(code)}} </div>
|
|
20
20
|
</div>
|
|
21
21
|
<div class="group">
|
|
22
|
-
<div class="label">Activation</div>
|
|
22
|
+
<div class="label">{{is_digify ? 'Digify Sub Code' : 'Activation'}}</div>
|
|
23
23
|
<div class="value">{{ code.code }}</div>
|
|
24
24
|
|
|
25
25
|
<div v-if="settings.hasOwnProperty('company_social') && settings.company_social">
|
|
@@ -27,17 +27,17 @@
|
|
|
27
27
|
<div class="value">{{ code.product.product_name ? code.product.product_name : code.product.sku }}</div>
|
|
28
28
|
</div>
|
|
29
29
|
<div v-else>
|
|
30
|
-
<div class="label">Membership</div>
|
|
30
|
+
<div class="label">{{is_digify ? 'Subs Entry Type' :'Membership'}}</div>
|
|
31
31
|
<div class="value">{{ code.membership.membership_name }}</div>
|
|
32
32
|
</div>
|
|
33
33
|
|
|
34
34
|
</div>
|
|
35
35
|
<div class="group">
|
|
36
|
-
<div class="label">Pin</div>
|
|
36
|
+
<div class="label">{{is_digify ? 'Digify CV PIN' :'Pin'}}</div>
|
|
37
37
|
<div class="value">{{ code.pin }}</div>
|
|
38
|
-
<div class="label">Status</div>
|
|
38
|
+
<div class="label">Current Status</div>
|
|
39
39
|
<div class="value" :style="`color: ${ code.used ? 'red' : checkExpiration(code.created_date) ? 'red' : 'green' }`">{{ checkExpiration(code.created_date) ? 'Expired' : (code.used ? 'Used by ' + code.used_by : 'Not Yet Used') }}</div>
|
|
40
|
-
<div class="label">Sale ID</div>
|
|
40
|
+
<div class="label">{{is_digify ? 'Trans ID' :'Sale ID'}}</div>
|
|
41
41
|
<div class="value text-red">{{ code.sale_id}}</div>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
</q-dialog>
|
|
83
83
|
|
|
84
84
|
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_open_add_slot_dialog">
|
|
85
|
-
<add-slot-dialog :is_heartzone="false" :is_adspro="is_adspro" :is_enable_all_sponsor="enable_code_add_all_sponsor" :code="code" :lead_info="lead_info" @closeDialog="is_open_add_slot_dialog = false"></add-slot-dialog>
|
|
85
|
+
<add-slot-dialog :is_heartzone="false" :is_adspro="is_adspro" :is_digify="is_digify" :is_enable_all_sponsor="enable_code_add_all_sponsor" :code="code" :lead_info="lead_info" @closeDialog="is_open_add_slot_dialog = false"></add-slot-dialog>
|
|
86
86
|
</q-dialog>
|
|
87
87
|
|
|
88
88
|
|
|
@@ -135,7 +135,8 @@ export default
|
|
|
135
135
|
enable_code_add_all_sponsor:Boolean,
|
|
136
136
|
lead_info:Object,
|
|
137
137
|
is_company_ultrapro:Boolean,
|
|
138
|
-
is_adspro : Boolean
|
|
138
|
+
is_adspro : Boolean,
|
|
139
|
+
is_digify : Boolean,
|
|
139
140
|
},
|
|
140
141
|
async mounted()
|
|
141
142
|
{
|
|
@@ -145,6 +146,29 @@ export default
|
|
|
145
146
|
},
|
|
146
147
|
methods:
|
|
147
148
|
{
|
|
149
|
+
getCodeType(code)
|
|
150
|
+
{
|
|
151
|
+
let productType = code.hasOwnProperty('product') ? code.product.type : 'membership';
|
|
152
|
+
if(this.is_digify)
|
|
153
|
+
{
|
|
154
|
+
productType == 'Membership Kit' ? productType = 'Package Name' : productType = productType;
|
|
155
|
+
}
|
|
156
|
+
let slotQuantity = code.slot_quantity > 1 ? `(${code.slot_quantity})` : '';
|
|
157
|
+
return `${productType} ${slotQuantity}`;
|
|
158
|
+
},
|
|
159
|
+
getCodeFor(code)
|
|
160
|
+
{
|
|
161
|
+
switch (code.kit_for_upgrade) {
|
|
162
|
+
case "Don't use for Upgrade":
|
|
163
|
+
return "Activation Only";
|
|
164
|
+
case "Only For Upgrade":
|
|
165
|
+
return "Upgrade Only";
|
|
166
|
+
case "All (Upgrade and New Kit)":
|
|
167
|
+
return "Upgrade and Activation";
|
|
168
|
+
default:
|
|
169
|
+
return "";
|
|
170
|
+
}
|
|
171
|
+
},
|
|
148
172
|
checkExpiration(created_date)
|
|
149
173
|
{
|
|
150
174
|
let is_expired = false;
|
package/GReferralLink.vue
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<template>
|
|
1
|
+
<template>
|
|
4
2
|
<div class="component">
|
|
5
3
|
<q-input dense :loading="loading" class="textbox" readonly v-model="replicated_link" outlined></q-input>
|
|
6
4
|
<q-btn @click="copyLink()" class="q-mt-md full-width" color="primary" unelevated>
|
|
@@ -9,72 +7,79 @@
|
|
|
9
7
|
<div v-else>Copy Referral Link</div>
|
|
10
8
|
</q-btn>
|
|
11
9
|
<input style="opacity: 0" v-model="replicated_link" id="referral_link" type="text">
|
|
12
|
-
|
|
13
10
|
</div>
|
|
14
|
-
|
|
15
|
-
|
|
16
11
|
</template>
|
|
17
|
-
|
|
18
12
|
<script>
|
|
19
|
-
import GlobalMixins
|
|
13
|
+
import GlobalMixins from './mixins/global_mixins';
|
|
20
14
|
|
|
21
15
|
export default
|
|
22
|
-
{
|
|
23
|
-
name: "GReferralLinkComponent",
|
|
24
|
-
components: { },
|
|
25
|
-
mixins: [GlobalMixins],
|
|
26
|
-
props:['ref_link', 'is_company_ultrapro' ],
|
|
27
|
-
filters: { },
|
|
28
|
-
data:() =>(
|
|
29
|
-
{
|
|
30
|
-
replicated_link : '',
|
|
31
|
-
loading: false,
|
|
32
|
-
public_settings:{},
|
|
33
|
-
link:'',
|
|
34
|
-
settings_link:false,
|
|
35
|
-
}),
|
|
36
|
-
async mounted() {
|
|
37
|
-
await this.$_getSlotInfo();
|
|
38
|
-
this.public_settings = await this.$_getData('public_settings');
|
|
39
|
-
if(this.public_settings.hasOwnProperty('replicated_link'))
|
|
40
|
-
{
|
|
41
|
-
this.link = this.public_settings.replicated_link;
|
|
42
|
-
this.settings_link = true;
|
|
43
|
-
}
|
|
44
|
-
let replace_space = this.current_slot_info.referral_code.replace(/\s/g, '%20');
|
|
45
|
-
if(this.settings_link)
|
|
46
|
-
{
|
|
47
|
-
this.replicated_link = `https://${this.link}/#/invite/${replace_space}`;
|
|
48
|
-
}
|
|
49
|
-
else
|
|
50
|
-
{
|
|
51
|
-
this.replicated_link = `https://${window.location.host}/#/invite/${replace_space}`;
|
|
52
|
-
}
|
|
53
|
-
this.loading = false;
|
|
54
|
-
},
|
|
55
|
-
methods:
|
|
56
16
|
{
|
|
57
|
-
|
|
17
|
+
name: "GReferralLinkComponent",
|
|
18
|
+
components: {},
|
|
19
|
+
mixins: [GlobalMixins],
|
|
20
|
+
props: ['ref_link', 'is_company_ultrapro'],
|
|
21
|
+
filters: {},
|
|
22
|
+
data: () => (
|
|
23
|
+
{
|
|
24
|
+
replicated_link: '',
|
|
25
|
+
loading: false,
|
|
26
|
+
public_settings: {},
|
|
27
|
+
link: '',
|
|
28
|
+
settings_link: false,
|
|
29
|
+
}),
|
|
30
|
+
async mounted() {
|
|
31
|
+
await this.$_getSlotInfo();
|
|
32
|
+
this.public_settings = await this.$_getData('public_settings');
|
|
33
|
+
if (this.public_settings.hasOwnProperty('replicated_link')) {
|
|
34
|
+
this.link = this.public_settings.replicated_link;
|
|
35
|
+
this.settings_link = true;
|
|
36
|
+
}
|
|
37
|
+
let replace_space = this.current_slot_info.referral_code.replace(/\s/g, '%20');
|
|
38
|
+
if (this.settings_link) {
|
|
39
|
+
this.replicated_link = `https://${this.link}/#/invite/${replace_space}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.replicated_link = `https://${window.location.host}/#/invite/${replace_space}`;
|
|
43
|
+
}
|
|
44
|
+
this.loading = false;
|
|
45
|
+
},
|
|
46
|
+
methods:
|
|
58
47
|
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
copyText.select();
|
|
63
|
-
copyText.setSelectionRange(0, 99999); /*For mobile devices*/
|
|
48
|
+
copyLink() {
|
|
49
|
+
// Get the text field
|
|
50
|
+
const copyText = document.getElementById("referral_link");
|
|
64
51
|
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
if (navigator.clipboard) {
|
|
53
|
+
// Copy the text using the Clipboard API
|
|
54
|
+
navigator.clipboard.writeText(copyText.value).then(() => {
|
|
55
|
+
this.$q.notify({
|
|
56
|
+
message: `<b>${copyText.value}</b> <span style='opacity: 0.5'>has been copied to clipboard.</span>`,
|
|
57
|
+
html: true,
|
|
58
|
+
color: 'black'
|
|
59
|
+
});
|
|
60
|
+
}).catch(err => {
|
|
61
|
+
console.error('Failed to copy text: ', err);
|
|
62
|
+
this.$q.notify({
|
|
63
|
+
message: 'Failed to copy the text to the clipboard.',
|
|
64
|
+
color: 'negative'
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
// Fallback for older browsers
|
|
69
|
+
copyText.select();
|
|
70
|
+
copyText.setSelectionRange(0, 99999); // For mobile devices
|
|
71
|
+
document.execCommand("copy");
|
|
67
72
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
computed: { }
|
|
76
|
-
}
|
|
77
|
-
</script>
|
|
73
|
+
this.$q.notify({
|
|
74
|
+
message: `<b>${copyText.value}</b> <span style='opacity: 0.5'>has been copied to clipboard.</span>`,
|
|
75
|
+
html: true,
|
|
76
|
+
color: 'black'
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
78
80
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
},
|
|
82
|
+
computed: {}
|
|
83
|
+
}
|
|
84
|
+
</script>
|
|
85
|
+
<style lang="scss" scoped></style>
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<b>{{dialog_title }}</b>
|
|
7
7
|
<q-space />
|
|
8
8
|
|
|
9
|
-
<q-btn dense flat
|
|
10
|
-
<q-
|
|
9
|
+
<q-btn dense flat v-close-popup>
|
|
10
|
+
<q-icon name="fa fa-times" size="18px"/>
|
|
11
11
|
</q-btn>
|
|
12
12
|
</q-bar>
|
|
13
13
|
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
<q-step :color="is_heartzone ? 'white' : ''" :name="1" :title="step1_title " icon="settings" :done="step > 1">
|
|
17
17
|
<q-form @submit.prevent="verifyCode()">
|
|
18
18
|
<div class="q-mt-sm">
|
|
19
|
-
<q-input v-model="field.code" outlined label="Enter Code" stack-label></q-input>
|
|
19
|
+
<q-input v-model="field.code" outlined :label="is_digify ? 'Digify Sub Code' : 'Enter Code'" stack-label></q-input>
|
|
20
20
|
</div>
|
|
21
21
|
<div class="q-mt-sm">
|
|
22
|
-
<q-input v-model="field.pin" outlined label="Enter Pin" stack-label></q-input>
|
|
22
|
+
<q-input v-model="field.pin" outlined :label="is_digify ? 'Digify CV Pin' : 'Enter Pin'" stack-label></q-input>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
|
-
<q-btn type="submit" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Verify Code</q-btn>
|
|
25
|
+
<q-btn type="submit" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> {{is_digify ? 'Proceed to next step' : 'Verify Code'}}</q-btn>
|
|
26
26
|
</q-form>
|
|
27
27
|
</q-step>
|
|
28
28
|
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
|
|
31
31
|
<q-form @submit.prevent="verifySponsor()">
|
|
32
32
|
<div class="q-mt-sm">
|
|
33
|
-
<q-input :readonly="fixed_sponsor" v-model="field.owner_email" outlined label="Enter Email for Owner of Slot" stack-label></q-input>
|
|
33
|
+
<q-input :readonly="fixed_sponsor" v-model="field.owner_email" outlined :label="is_digify ? 'Digify Member Details' : 'Enter Email for Owner of Slot'" stack-label></q-input>
|
|
34
34
|
</div>
|
|
35
35
|
|
|
36
36
|
<div class="q-mt-sm">
|
|
37
|
-
<q-input :readonly="fixed_sponsor" v-model="field.sponsor" outlined :label="is_heartzone ? 'Enter Sponsor Slot Code' : 'Enter Sponsor'" stack-label></q-input>
|
|
37
|
+
<q-input :readonly="fixed_sponsor" v-model="field.sponsor" outlined :label="is_heartzone ? 'Enter Sponsor Slot Code' : is_digify ? 'Digify Referrer' : 'Enter Sponsor'" stack-label></q-input>
|
|
38
38
|
</div>
|
|
39
39
|
<div class="instruction">{{ is_adspro ? 'If you own the slot to be activated please leave it blank.' : 'If you will be the one who will we the owner of the new slot then please leave your e-mail in the field of Email for Slot Owner' }}</div>
|
|
40
40
|
<q-btn @click="openDafaultSponsor()" v-if="field.sponsor == ''" unelevated class="full-width q-mt-sm" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> {{ is_adspro ? 'Auto Select Sponsor' : 'Continue using default Sponsor' }}</q-btn>
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
|
|
46
46
|
<q-step :color="is_heartzone ? 'white' : ''" :name="3" :title="step3_title" icon="assignment" :done="step > 3">
|
|
47
47
|
<div v-if="sponsor_info && code_info && owner_info" class="add-slot__verify-details">
|
|
48
|
-
<div class="title">
|
|
48
|
+
<div class="title">CONFIRM YOUR DETAILS</div>
|
|
49
49
|
<div class="breakdowns">
|
|
50
|
-
<div class="breakdown-label">{{ is_adspro ? 'Subscription Owner' : 'Owner After Creation' }}</div>
|
|
50
|
+
<div class="breakdown-label">{{ is_adspro ? 'Subscription Owner' : is_digify ? 'Digify Member Owner' : 'Owner After Creation' }}</div>
|
|
51
51
|
<div class="breakdown-value">{{ owner_info.full_name }}</div>
|
|
52
52
|
</div>
|
|
53
53
|
<div class="breakdowns">
|
|
54
54
|
<div class="breakdown-label">
|
|
55
|
-
{{ is_adspro ? 'Referrer Code' : 'Sponsor Code' }}
|
|
55
|
+
{{ is_adspro ? 'Referrer Code' : is_digify ? 'Digify Referrer' : 'Sponsor Code' }}
|
|
56
56
|
</div>
|
|
57
57
|
<div class="breakdown-value">{{ sponsor_info.slot_code }}</div>
|
|
58
58
|
</div>
|
|
@@ -64,15 +64,15 @@
|
|
|
64
64
|
<div class="breakdown-value">{{ sponsor_info.owner_info.full_name }}</div>
|
|
65
65
|
</div>
|
|
66
66
|
<div class="breakdowns">
|
|
67
|
-
<div class="breakdown-label">Code</div>
|
|
67
|
+
<div class="breakdown-label">{{is_digify ? 'Digify Sub Code' : 'Code'}}</div>
|
|
68
68
|
<div class="breakdown-value">{{ code_info.data.code }}</div>
|
|
69
69
|
</div>
|
|
70
70
|
<div class="breakdowns">
|
|
71
|
-
<div class="breakdown-label">Pin</div>
|
|
71
|
+
<div class="breakdown-label">{{ is_digify ? 'Digify CV Pin' : 'Pin' }}</div>
|
|
72
72
|
<div class="breakdown-value">{{ code_info.data.pin }}</div>
|
|
73
73
|
</div>
|
|
74
74
|
<div class="breakdowns">
|
|
75
|
-
<div class="breakdown-label">{{ is_adspro ? 'Subscription' : 'Your Membership' }}</div>
|
|
75
|
+
<div class="breakdown-label">{{ is_adspro ? 'Subscription' : is_digify ? 'Subs Entry Type' : 'Your Membership' }}</div>
|
|
76
76
|
<div class="breakdown-value">{{ code_info.data.membership.membership_name }}</div>
|
|
77
77
|
</div>
|
|
78
78
|
<div class="breakdowns">
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
</div>
|
|
82
82
|
</div>
|
|
83
83
|
|
|
84
|
-
<q-btn @click="confirmDetails()" type="button" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Confirm Details</q-btn>
|
|
84
|
+
<q-btn @click="confirmDetails()" type="button" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> {{is_digify ? 'I HEREBY CONFIRM ALL THE DETAILS.' : 'Confirm Details'}}</q-btn>
|
|
85
85
|
<q-btn @click="step = 1" type="button" outline unelevated class="full-width q-mt-sm" color="primary"><q-icon name="fa fa-times q-mr-sm" size="14px"></q-icon> Cancel</q-btn>
|
|
86
86
|
</q-step>
|
|
87
87
|
<q-step :color="is_heartzone ? 'white' : ''" :name="4" :title="step4_title" icon="star">
|
|
@@ -169,6 +169,7 @@ export default
|
|
|
169
169
|
props:
|
|
170
170
|
{
|
|
171
171
|
is_heartzone: Boolean,
|
|
172
|
+
is_digify: Boolean,
|
|
172
173
|
is_adspro : Boolean,
|
|
173
174
|
is_enable_all_sponsor: Boolean,
|
|
174
175
|
is_show: Boolean,
|
|
@@ -221,7 +222,6 @@ export default
|
|
|
221
222
|
{
|
|
222
223
|
updateTitles()
|
|
223
224
|
{
|
|
224
|
-
console.log(this.is_heartzone, this.is_adspro)
|
|
225
225
|
if(this.is_heartzone)
|
|
226
226
|
{
|
|
227
227
|
this.dialog_title = 'Create Slot Code (Click "VERIFY")'
|
|
@@ -239,6 +239,15 @@ export default
|
|
|
239
239
|
this.step3_title = 'Confirm Summary';
|
|
240
240
|
this.step4_title = '';
|
|
241
241
|
}
|
|
242
|
+
|
|
243
|
+
if(this.is_digify)
|
|
244
|
+
{
|
|
245
|
+
this.dialog_title = 'Digify Activation Process'
|
|
246
|
+
this.step1_title = 'Entry Digify Activation';
|
|
247
|
+
this.step2_title = 'Referral Confirmation Procedure';
|
|
248
|
+
this.step3_title = 'Final Confirmation Page';
|
|
249
|
+
this.step4_title = '';
|
|
250
|
+
}
|
|
242
251
|
},
|
|
243
252
|
useDefaultSponsor(){
|
|
244
253
|
if(this.public_settings.hasOwnProperty('no_sponsor'))
|