web-manager 3.1.28 → 3.1.30
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/account.js +55 -50
- package/package.json +2 -2
package/lib/account.js
CHANGED
@@ -1,17 +1,15 @@
|
|
1
1
|
/*
|
2
2
|
*/
|
3
|
-
var dom;
|
4
|
-
var utilities;
|
5
|
-
|
6
3
|
function Account(init) {
|
7
4
|
var self = this;
|
5
|
+
|
8
6
|
init = init || {};
|
9
7
|
self.properties = {};
|
10
8
|
self.accountPageInitialized = false;
|
11
9
|
|
12
10
|
try {
|
13
|
-
dom = init.dom || self.Manager.dom();
|
14
|
-
utilities = init.utilities || self.Manager.utilities();
|
11
|
+
self.dom = init.dom || self.Manager.dom();
|
12
|
+
self.utilities = init.utilities || self.Manager.utilities();
|
15
13
|
|
16
14
|
if (new URL(window.location.href).pathname.includes('account')) {
|
17
15
|
self.initializeAccountPage();
|
@@ -93,10 +91,11 @@ Account.prototype.initializeAccountPage = function (options) {
|
|
93
91
|
|
94
92
|
Account.prototype.delete = function (options) {
|
95
93
|
var self = this;
|
94
|
+
|
96
95
|
var user = firebase.auth().currentUser;
|
97
|
-
var errorElement = dom.select('.auth-delete-account-error-message-element');
|
98
|
-
var confirmValue = dom.select('.auth-delete-account-confirmation-input').getValue()
|
99
|
-
var deleteButton = dom.select('.auth-delete-account-btn')
|
96
|
+
var errorElement = self.dom.select('.auth-delete-account-error-message-element');
|
97
|
+
var confirmValue = self.dom.select('.auth-delete-account-confirmation-input').getValue()
|
98
|
+
var deleteButton = self.dom.select('.auth-delete-account-btn')
|
100
99
|
|
101
100
|
deleteButton.setAttribute('disabled', true).addClass('disabled');
|
102
101
|
errorElement.setAttribute('hidden', true);
|
@@ -115,7 +114,7 @@ Account.prototype.delete = function (options) {
|
|
115
114
|
} else {
|
116
115
|
user.getIdToken(false)
|
117
116
|
.then(function(token) {
|
118
|
-
fetch('https://us-central1-' + utilities.get(self.Manager, 'properties.options.libraries.firebase_app.config.projectId', 'unknown') + '.cloudfunctions.net/bm_api', {
|
117
|
+
fetch('https://us-central1-' + self.utilities.get(self.Manager, 'properties.options.libraries.firebase_app.config.projectId', 'unknown') + '.cloudfunctions.net/bm_api', {
|
119
118
|
// fetch('http://localhost:5001/optiic-api/us-central1/bm_api', {
|
120
119
|
method: 'POST',
|
121
120
|
headers: { 'Content-Type': 'application/json' },
|
@@ -173,16 +172,6 @@ Account.prototype.resolve = function (account, options) {
|
|
173
172
|
});
|
174
173
|
}
|
175
174
|
|
176
|
-
function _setAuthItem(selector, value) {
|
177
|
-
dom.select(selector).each(function(e, i) {
|
178
|
-
if (e.tagName === 'INPUT') {
|
179
|
-
dom.select(e).setValue(value);
|
180
|
-
} else {
|
181
|
-
dom.select(e).setInnerHTML(value);
|
182
|
-
}
|
183
|
-
});
|
184
|
-
}
|
185
|
-
|
186
175
|
function uppercase(str) {
|
187
176
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
188
177
|
}
|
@@ -221,6 +210,7 @@ Account.prototype._resolveAccount2 = function (firebaseUser, account, options) {
|
|
221
210
|
*/
|
222
211
|
Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
223
212
|
var self = this;
|
213
|
+
|
224
214
|
firebaseUser = firebaseUser || {};
|
225
215
|
account = account || {};
|
226
216
|
options = options || {};
|
@@ -239,9 +229,17 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
239
229
|
// Resolve plan
|
240
230
|
account.plan = account.plan || {};
|
241
231
|
account.plan.id = account.plan.id || defaultPlanId;
|
232
|
+
|
242
233
|
account.plan.expires = account.plan.expires || {};
|
243
234
|
account.plan.expires.timestamp = new Date(account.plan.expires.timestamp || 0).toISOString();
|
244
235
|
account.plan.expires.timestampUNIX = Math.round(new Date(account.plan.expires.timestamp || 0).getTime() / 1000);
|
236
|
+
|
237
|
+
account.plan.trial = account.plan.trial || {};
|
238
|
+
account.plan.trial.activated = account.plan.trial.activated || false;
|
239
|
+
account.plan.trial.expires = account.plan.trial.expires || {};
|
240
|
+
account.plan.trial.expires.timestamp = new Date(account.plan.trial.expires.timestamp || 0).toISOString()
|
241
|
+
account.plan.trial.expires.timestampUNIX = Math.round(new Date(account.plan.trial.expires.timestamp || 0).getTime() / 1000);
|
242
|
+
|
245
243
|
account.plan.limits = account.plan.limits || {};
|
246
244
|
// account.plan.devices = account.plan.devices || 1;
|
247
245
|
|
@@ -266,17 +264,17 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
266
264
|
// In a try/catch because this lib is used in node sometimes
|
267
265
|
try {
|
268
266
|
currentURL = new URL(window.location.href);
|
269
|
-
isDevelopment = utilities.get(self.Manager, 'properties.meta.environment', '') === 'development';
|
267
|
+
isDevelopment = self.utilities.get(self.Manager, 'properties.meta.environment', '') === 'development';
|
270
268
|
|
271
|
-
if (utilities.get(isDevelopment)) {
|
269
|
+
if (self.utilities.get(isDevelopment)) {
|
272
270
|
currentURL.searchParams
|
273
271
|
.forEach(function(value, key) {
|
274
|
-
var accountValue = utilities.get(account, key, undefined)
|
272
|
+
var accountValue = self.utilities.get(account, key, undefined)
|
275
273
|
if (typeof accountValue !== undefined) {
|
276
274
|
if (value === 'true') { value = true }
|
277
275
|
if (value === 'false') { value = false }
|
278
276
|
|
279
|
-
utilities.set(account, key, value)
|
277
|
+
self.utilities.set(account, key, value)
|
280
278
|
}
|
281
279
|
});
|
282
280
|
}
|
@@ -289,7 +287,7 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
289
287
|
var planExpireDate = new Date(account.plan.expires.timestamp);
|
290
288
|
var now = new Date();
|
291
289
|
var daysTillExpire = Math.floor((planExpireDate - now) / 86400000);
|
292
|
-
var difference = (planExpireDate.getTime() - now.getTime())/(24*3600*1000);
|
290
|
+
var difference = (planExpireDate.getTime() - now.getTime()) / (24 * 3600 * 1000);
|
293
291
|
var startDate = new Date(account.plan.payment.startDate.timestamp);
|
294
292
|
var planIsActive = difference > -1 && account.plan.id !== defaultPlanId;
|
295
293
|
|
@@ -338,14 +336,6 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
338
336
|
// Personal
|
339
337
|
account.personal = account.personal || {};
|
340
338
|
|
341
|
-
account.personal.name = account.personal.name || {};
|
342
|
-
account.personal.name.first = account.personal.name.first || '';
|
343
|
-
account.personal.name.last = account.personal.name.last || '';
|
344
|
-
|
345
|
-
account.personal.telephone = account.personal.telephone || {};
|
346
|
-
account.personal.telephone.countryCode = account.personal.telephone.countryCode || 0;
|
347
|
-
account.personal.telephone.national = account.personal.telephone.national || 0;
|
348
|
-
|
349
339
|
account.personal.birthday = account.personal.birthday || {};
|
350
340
|
account.personal.birthday.timestamp = account.personal.birthday.timestamp || '1970-01-01T00:00:00.000Z';
|
351
341
|
account.personal.birthday.timestampUNIX = account.personal.birthday.timestampUNIX || 0;
|
@@ -353,40 +343,56 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
353
343
|
account.personal.gender = account.personal.gender || '';
|
354
344
|
|
355
345
|
account.personal.location = account.personal.location || {};
|
346
|
+
account.personal.location.city = account.personal.location.city || '';
|
356
347
|
account.personal.location.country = account.personal.location.country || '';
|
357
348
|
|
349
|
+
account.personal.name = account.personal.name || {};
|
350
|
+
account.personal.name.first = account.personal.name.first || '';
|
351
|
+
account.personal.name.last = account.personal.name.last || '';
|
352
|
+
|
353
|
+
account.personal.telephone = account.personal.telephone || {};
|
354
|
+
account.personal.telephone.countryCode = account.personal.telephone.countryCode || 0;
|
355
|
+
account.personal.telephone.national = account.personal.telephone.national || 0;
|
358
356
|
|
359
357
|
// Set UI elements
|
360
358
|
// In a try/catch because this lib is used in node sometimes
|
361
359
|
try {
|
362
|
-
// var apiLinkURL = isDevelopment ? 'http://localhost:5000/discord-link' : 'https://api.{{ site.brand.name }}.com/discord-link';
|
363
|
-
// var apiUnlinkURL = isDevelopment ? 'http://localhost:5000/discord-unlink' : 'https://api.{{ site.brand.name }}.com/discord-unlink';
|
364
360
|
var cancelURL = isDevelopment ? 'http://localhost:4001/cancel/' : 'https://itwcreativeworks.com/portal/account/manage/';
|
365
361
|
|
366
|
-
var billingSubscribeBtn = dom.select('.auth-billing-subscribe-btn');
|
367
|
-
var billingUpdateBtn = dom.select('.auth-billing-update-btn');
|
368
|
-
var billingPlanId = dom.select('.auth-billing-plan-id-element');
|
369
|
-
var billingFrequencyEl = dom.select('.auth-billing-frequency-element');
|
370
|
-
var billingStartDateEl = dom.select('.auth-billing-start-date-element');
|
371
|
-
var billingExpirationDateEl = dom.select('.auth-billing-expiration-date-element');
|
362
|
+
var billingSubscribeBtn = self.dom.select('.auth-billing-subscribe-btn');
|
363
|
+
var billingUpdateBtn = self.dom.select('.auth-billing-update-btn');
|
364
|
+
var billingPlanId = self.dom.select('.auth-billing-plan-id-element');
|
365
|
+
var billingFrequencyEl = self.dom.select('.auth-billing-frequency-element');
|
366
|
+
var billingStartDateEl = self.dom.select('.auth-billing-start-date-element');
|
367
|
+
var billingExpirationDateEl = self.dom.select('.auth-billing-expiration-date-element');
|
372
368
|
|
373
|
-
var $referralCount = dom.select('.auth-referral-count-element');
|
374
|
-
var $referralCode = dom.select('.auth-referral-code-element');
|
375
|
-
var $referralLink = dom.select('.auth-referral-link-element');
|
376
|
-
var $referralSocialLink = dom.select('a.auth-referral-social-link[data-provider]');
|
369
|
+
var $referralCount = self.dom.select('.auth-referral-count-element');
|
370
|
+
var $referralCode = self.dom.select('.auth-referral-code-element');
|
371
|
+
var $referralLink = self.dom.select('.auth-referral-link-element');
|
372
|
+
var $referralSocialLink = self.dom.select('a.auth-referral-social-link[data-provider]');
|
377
373
|
|
378
|
-
var authCreatedEl = dom.select('.auth-created-element');
|
379
|
-
var authPhoneInput = dom.select('.auth-phone-input');
|
374
|
+
var authCreatedEl = self.dom.select('.auth-created-element');
|
375
|
+
var authPhoneInput = self.dom.select('.auth-phone-input');
|
380
376
|
|
381
377
|
var updateURL = new URL(cancelURL);
|
382
378
|
var referralURL = new URL(window.location.origin || window.location.host);
|
383
379
|
|
380
|
+
function _setAuthItem(selector, value) {
|
381
|
+
self.dom.select(selector).each(function(e, i) {
|
382
|
+
if (e.tagName === 'INPUT') {
|
383
|
+
self.dom.select(e).setValue(value);
|
384
|
+
} else {
|
385
|
+
self.dom.select(e).setInnerHTML(value);
|
386
|
+
}
|
387
|
+
});
|
388
|
+
}
|
389
|
+
|
384
390
|
referralURL.pathname = '/';
|
385
391
|
referralURL.searchParams.set('aff', account.affiliate.code)
|
386
392
|
|
387
393
|
authCreatedEl.setInnerHTML(
|
388
394
|
new Date(
|
389
|
-
parseInt(utilities.get(firebaseUser, 'metadata.a', '0'))
|
395
|
+
parseInt(self.utilities.get(firebaseUser, 'metadata.a', '0'))
|
390
396
|
)
|
391
397
|
.toLocaleString(undefined, {
|
392
398
|
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric',
|
@@ -413,15 +419,14 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
413
419
|
? '<i class="fas fa-exclamation-triangle mr-1"></i> Expires in ' + daysTillExpire + ' days '
|
414
420
|
: '');
|
415
421
|
|
416
|
-
_setAuthItem('.auth-apikey-element', utilities.get(account, 'api.privateKey', 'n/a'));
|
417
|
-
|
422
|
+
_setAuthItem('.auth-apikey-element', self.utilities.get(account, 'api.privateKey', 'n/a'));
|
418
423
|
|
419
424
|
$referralCount.setInnerHTML(account.affiliate.referrals.length);
|
420
425
|
$referralCode.setInnerHTML(account.affiliate.code).setValue(account.affiliate.code);
|
421
426
|
$referralCode.setInnerHTML(referralURL.toString()).setValue(referralURL.toString());
|
422
427
|
|
423
428
|
var affiliateLinkURI = encodeURIComponent(referralURL.toString());
|
424
|
-
var affiliateLinkTextURI = encodeURIComponent('Sign up for ' + utilities.get(self.Manager, 'properties.global.brand.name', 'this') + ', a useful service:');
|
429
|
+
var affiliateLinkTextURI = encodeURIComponent('Sign up for ' + self.utilities.get(self.Manager, 'properties.global.brand.name', 'this') + ', a useful service:');
|
425
430
|
|
426
431
|
$referralSocialLink
|
427
432
|
.each(function ($el) {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "web-manager",
|
3
|
-
"version": "3.1.
|
3
|
+
"version": "3.1.30",
|
4
4
|
"description": "Easily access important variables such as the query string, current domain, and current page in a single object.",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -28,4 +28,4 @@
|
|
28
28
|
"firebase": "^8.10.1",
|
29
29
|
"lazysizes": "^5.3.2"
|
30
30
|
}
|
31
|
-
}
|
31
|
+
}
|