web-manager 3.2.39 → 3.2.41
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/account.js +50 -8
- package/package.json +2 -2
package/lib/account.js
CHANGED
@@ -237,8 +237,11 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
237
237
|
var timestampUNIXOld = 0;
|
238
238
|
|
239
239
|
// TODO: ADD THESE THINGS: USAGE RESOVLER ETC
|
240
|
-
console.log('++++++account', JSON.stringify(account, null, 2));
|
241
|
-
console.log('++++++options', JSON.stringify(options, null, 2));
|
240
|
+
console.log('++++++account 1', JSON.stringify(account, null, 2));
|
241
|
+
console.log('++++++options 1', JSON.stringify(options, null, 2));
|
242
|
+
|
243
|
+
// @@@DEVELOPER
|
244
|
+
// account.plan = {};
|
242
245
|
|
243
246
|
// Resolve auth
|
244
247
|
account.auth = account.auth || {};
|
@@ -262,6 +265,17 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
262
265
|
account.plan.trial.expires.timestamp = new Date(account.plan.trial.expires.timestamp || 0).toISOString()
|
263
266
|
account.plan.trial.expires.timestampUNIX = Math.round(new Date(account.plan.trial.expires.timestamp || 0).getTime() / 1000);
|
264
267
|
|
268
|
+
// @@@DEVELOPER
|
269
|
+
// account.plan.id = 'basic';
|
270
|
+
// account.plan.trial = {
|
271
|
+
// activated: false,
|
272
|
+
// expires: {
|
273
|
+
// timestamp: new Date('2024-04-23T00:07:29.183Z').toISOString(),
|
274
|
+
// timestampUNIX: Math.round(new Date('2024-04-23T00:07:29.183Z').getTime() / 1000),
|
275
|
+
// }
|
276
|
+
// }
|
277
|
+
// account.plan.status = 'suspended';
|
278
|
+
|
265
279
|
account.plan.limits = account.plan.limits || {};
|
266
280
|
// account.plan.devices = account.plan.devices || 1;
|
267
281
|
|
@@ -324,6 +338,8 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
324
338
|
account.plan.id = defaultPlanId;
|
325
339
|
}
|
326
340
|
|
341
|
+
var isBasicPlan = account.plan.id === defaultPlanId;
|
342
|
+
|
327
343
|
// Resolve oAuth2
|
328
344
|
account.oauth2 = account.oauth2 || {};
|
329
345
|
// account.oauth2.google = account.oauth2.google || {};
|
@@ -331,7 +347,6 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
331
347
|
|
332
348
|
// Resolve roles
|
333
349
|
account.roles = account.roles || {};
|
334
|
-
// account.roles.betaTester = account.plan.id === defaultPlanId ? false : account.roles.betaTester === true || account.roles.betaTester === 'true';
|
335
350
|
account.roles.betaTester = account.roles.betaTester === true || account.roles.betaTester === 'true';
|
336
351
|
account.roles.developer = account.roles.developer === true || account.roles.developer === 'true';
|
337
352
|
account.roles.admin = account.roles.admin === true || account.roles.admin === 'true';
|
@@ -418,6 +433,8 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
418
433
|
var billingUpdateBtn = self.dom.select('.auth-billing-update-btn');
|
419
434
|
var billingPlanId = self.dom.select('.auth-billing-plan-id-element');
|
420
435
|
var billingFrequencyEl = self.dom.select('.auth-billing-frequency-element');
|
436
|
+
var billingStatusEl = self.dom.select('.auth-billing-status-element');
|
437
|
+
var billingStatusColorEl = self.dom.select('.auth-billing-status-color-element');
|
421
438
|
var billingStartDateEl = self.dom.select('.auth-billing-start-date-element');
|
422
439
|
var billingExpirationDateEl = self.dom.select('.auth-billing-expiration-date-element');
|
423
440
|
var billingSuspendedMessageEl = self.dom.select('.auth-billing-suspended-message-element');
|
@@ -460,8 +477,8 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
460
477
|
|
461
478
|
billingUpdateBtn.setAttribute('hidden', true).setAttribute('href', updateURL.toString());
|
462
479
|
billingSubscribeBtn.setAttribute('hidden', true);
|
463
|
-
billingSuspendedMessageEl.setAttribute('hidden');
|
464
|
-
billingTrialExpirationDateEl.setAttribute('hidden');
|
480
|
+
billingSuspendedMessageEl.setAttribute('hidden', true);
|
481
|
+
billingTrialExpirationDateEl.setAttribute('hidden', true);
|
465
482
|
|
466
483
|
// Update active UI
|
467
484
|
if (planIsActive) {
|
@@ -488,11 +505,32 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
488
505
|
.setInnerHTML('<i class="fas fa-gift mr-1"></i> Your free trial expires in ' + daysTillTrialExpire + ' days');
|
489
506
|
}
|
490
507
|
|
508
|
+
// Change the status to 'failed' if the plan is suspended because room temperature IQ people think 'suspended' means 'cancelled'
|
509
|
+
var visibleStatus = uppercase(account.plan.status === 'suspended' ? 'failed payment' : account.plan.status);
|
510
|
+
// If user is on trial, start date is trial exp date
|
511
|
+
var visibleStartDate = account.plan.trial.activated ? account.plan.trial.expires.timestamp : account.plan.payment.startDate.timestamp;
|
512
|
+
if (isBasicPlan) {
|
513
|
+
// Set as start of this month
|
514
|
+
visibleStartDate = new Date(now.getFullYear(), now.getMonth(), 1).toISOString();
|
515
|
+
}
|
516
|
+
var visibleFrequency = account.plan.payment.frequency === 'unknown' ? 'monthly' : account.plan.payment.frequency;
|
517
|
+
|
491
518
|
// Update billing UI
|
492
519
|
billingPlanId.setInnerHTML(splitDashesAndUppercase(account.plan.id));
|
493
|
-
billingFrequencyEl.setInnerHTML(
|
494
|
-
|
495
|
-
|
520
|
+
billingFrequencyEl.setInnerHTML(visibleFrequency);
|
521
|
+
billingStatusEl.setInnerHTML(visibleStatus);
|
522
|
+
billingStatusColorEl
|
523
|
+
.removeClass('bg-soft-success').removeClass('bg-soft-danger').removeClass('bg-soft-warning')
|
524
|
+
.removeClass('text-success').removeClass('text-danger').removeClass('text-warning')
|
525
|
+
if (account.plan.status === 'active') {
|
526
|
+
billingStatusColorEl.addClass('bg-soft-success').addClass('text-success');
|
527
|
+
} else {
|
528
|
+
billingStatusColorEl.addClass('bg-soft-danger').addClass('text-danger');
|
529
|
+
}
|
530
|
+
billingStartDateEl.setInnerHTML(new Date(visibleStartDate).toLocaleString(undefined, {
|
531
|
+
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric',
|
532
|
+
}));
|
533
|
+
billingExpirationDateEl.setInnerHTML(isBasicPlan && daysTillExpire < 366
|
496
534
|
? '<i class="fas fa-exclamation-triangle mr-1"></i> Expires in ' + daysTillExpire + ' days '
|
497
535
|
: '');
|
498
536
|
|
@@ -537,6 +575,10 @@ Account.prototype._resolveAccount = function (firebaseUser, account, options) {
|
|
537
575
|
}
|
538
576
|
})
|
539
577
|
|
578
|
+
// TODO: ADD THESE THINGS: USAGE RESOVLER ETC
|
579
|
+
console.log('++++++account 2', JSON.stringify(account, null, 2));
|
580
|
+
console.log('++++++options 2', JSON.stringify(options, null, 2));
|
581
|
+
|
540
582
|
} catch (e) {
|
541
583
|
if (typeof window !== 'undefined') {
|
542
584
|
console.error('Unable to set DOM elements', e);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "web-manager",
|
3
|
-
"version": "3.2.
|
3
|
+
"version": "3.2.41",
|
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": {
|
@@ -31,7 +31,7 @@
|
|
31
31
|
}
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
|
-
"@sentry/browser": "^7.
|
34
|
+
"@sentry/browser": "^7.108.0",
|
35
35
|
"cookieconsent": "^3.1.1",
|
36
36
|
"firebase": "^9.23.0",
|
37
37
|
"lazysizes": "^5.3.2"
|