Skip to content

Commit 011c898

Browse files
committed
chore: show descriptive plan names from server in profile popup
1 parent e06b870 commit 011c898

File tree

9 files changed

+29
-16
lines changed

9 files changed

+29
-16
lines changed

src/nls/root/strings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1690,5 +1690,5 @@ define({
16901690
"PROMO_PRO_UNLOCK_MESSAGE": "Subscribe now to unlock these advanced features:",
16911691
"PROMO_PRO_TRIAL_DAYS_LEFT": "Phoenix Pro Trial ({0} days left)",
16921692
"GET_PHOENIX_PRO": "Get Phoenix Pro",
1693-
"USER_FREE_PLAN_NAME": "Free Plan"
1693+
"USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE": "Community Edition"
16941694
});

src/services/entitlements.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ define(function (require, exports, module) {
9797
const currentDate = Date.now();
9898
return {
9999
paidSubscriber: false,
100-
name: Strings.USER_FREE_PLAN_NAME,
100+
name: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE,
101101
validTill: currentDate + (FREE_PLAN_VALIDITY_DAYS * MS_IN_DAY)
102102
};
103103
}

src/services/login-service.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,8 @@ define(function (require, exports, module) {
416416
entitlements.plan = {
417417
...entitlements.plan,
418418
paidSubscriber: false,
419-
name: Strings.USER_FREE_PLAN_NAME,
419+
name: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE,
420+
fullName: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE,
420421
validTill: currentDate + (FREE_PLAN_VALIDITY_DAYS * MS_IN_DAY)
421422
};
422423
}
@@ -453,6 +454,8 @@ define(function (require, exports, module) {
453454
* plan: {
454455
* paidSubscriber: true, // Always true for trial users
455456
* name: "Phoenix Pro"
457+
* fullName: "Phoenix Pro" // this can be deceptive name like "Phoenix Pro For Education" to use in
458+
* // profile popup, not main branding
456459
* },
457460
* isInProTrial: true, // Indicates this is a trial user
458461
* trialDaysRemaining: number, // Days left in trial
@@ -478,6 +481,8 @@ define(function (require, exports, module) {
478481
* lang: string,
479482
* plan: {
480483
* name: "Phoenix Pro",
484+
* fullName: "Phoenix Pro" // this can be deceptive name like "Phoenix Pro For Education" to use in
485+
* // profile popup, not main branding
481486
* paidSubscriber: boolean,
482487
* validTill: number // Timestamp
483488
* },
@@ -553,6 +558,7 @@ define(function (require, exports, module) {
553558
...serverEntitlements.plan,
554559
paidSubscriber: true,
555560
name: brackets.config.main_pro_plan,
561+
fullName: brackets.config.main_pro_plan,
556562
validTill: dateNowFn() + trialDaysRemaining * MS_IN_DAY
557563
},
558564
isInProTrial: true,
@@ -574,6 +580,7 @@ define(function (require, exports, module) {
574580
plan: {
575581
paidSubscriber: true,
576582
name: brackets.config.main_pro_plan,
583+
fullName: brackets.config.main_pro_plan,
577584
validTill: dateNowFn() + trialDaysRemaining * MS_IN_DAY
578585
},
579586
isInProTrial: true,

src/services/profile-menu.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -217,19 +217,21 @@ define(function (require, exports, module) {
217217
// Use kernal mode apis for trusted check of pro features.
218218
Phoenix.pro.plan = {
219219
paidSubscriber: false,
220-
name: "Community Edition"
220+
name: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE,
221+
fullName: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE
221222
};
222223
}
223224

224225
if (entitlements && entitlements.plan){
225226
Phoenix.pro.plan = {
226227
paidSubscriber: entitlements.plan.paidSubscriber,
227228
name: entitlements.plan.name,
229+
fullName: entitlements.plan.fullName,
228230
validTill: entitlements.plan.validTill
229231
};
230232
}
231233
if (entitlements && entitlements.plan && entitlements.plan.paidSubscriber) {
232-
// Pro user (paid subscriber or trial): show plan name with feather icon
234+
// Pro user (paid subscriber or trial): show short name branding with `name feather icon`(not full name)
233235
let displayName = entitlements.plan.name || brackets.config.main_pro_plan;
234236
if (entitlements.isInProTrial) {
235237
displayName = brackets.config.main_pro_plan; // Just "Phoenix Pro" for branding, not "Phoenix Pro Trial"
@@ -379,15 +381,15 @@ define(function (require, exports, module) {
379381
} else {
380382
// For paid users: regular plan name with icon
381383
const proTitle = `<span class="phoenix-pro-title">
382-
<span class="pro-plan-name user-plan-name">${entitlements.plan.name}</span>
384+
<span class="pro-plan-name user-plan-name">${entitlements.plan.fullName}</span>
383385
<i class="fa-solid fa-feather" style="margin-left: 3px;"></i>
384386
</span>`;
385387
$planName.addClass('user-plan-paid').html(proTitle);
386388
$getProLink.addClass('forced-hidden');
387389
}
388390
} else {
389391
// Use simple text for free users
390-
$planName.addClass('user-plan-free').text(entitlements.plan.name);
392+
$planName.addClass('user-plan-free').text(entitlements.plan.fullName);
391393
}
392394
} else {
393395
$getProLink.removeClass('forced-hidden');
@@ -436,7 +438,7 @@ define(function (require, exports, module) {
436438
initials: profileData.profileIcon.initials,
437439
avatarColor: profileData.profileIcon.color,
438440
planClass: "user-plan-free",
439-
planName: Strings.USER_FREE_PLAN_NAME,
441+
planName: Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE,
440442
titleText: "Ai Quota Used",
441443
usageText: "100 / 200 credits",
442444
usedPercent: 0,

test/spec/login-browser-integ-test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ define(function (require, exports, module) {
185185
entitlementsResponse.plan = {
186186
paidSubscriber: true,
187187
name: "Phoenix Pro",
188+
fullName: "Phoenix Pro",
188189
validTill: validTill
189190
};
190191
entitlementsResponse.entitlements = {
@@ -196,7 +197,8 @@ define(function (require, exports, module) {
196197
} else {
197198
entitlementsResponse.plan = {
198199
paidSubscriber: false,
199-
name: "Free Plan"
200+
name: "Free Plan",
201+
fullName: "Free Plan"
200202
};
201203
}
202204

test/spec/login-desktop-integ-test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ define(function (require, exports, module) {
207207
entitlementsResponse.plan = {
208208
paidSubscriber: true,
209209
name: "Phoenix Pro",
210+
fullName: "Phoenix Pro",
210211
validTill: validTill
211212
};
212213
entitlementsResponse.entitlements = {
@@ -218,7 +219,8 @@ define(function (require, exports, module) {
218219
} else {
219220
entitlementsResponse.plan = {
220221
paidSubscriber: false,
221-
name: "Free Plan"
222+
name: "Free Plan",
223+
fullName: "Free Plan"
222224
};
223225
}
224226

test/spec/login-shared.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ define(function (require, exports, module) {
492492
await verifyProBranding(false, "no pro branding to start with");
493493

494494
// Verify entitlements API consistency for logged out user with expired trial
495-
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME },
495+
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE },
496496
"free plan for logged out user with expired trial");
497497
await verifyIsInProTrialEntitlement(false, "no trial for user with expired trial");
498498
await verifyTrialRemainingDaysEntitlement(0, "no trial days remaining for expired trial");
@@ -505,7 +505,7 @@ define(function (require, exports, module) {
505505
await verifyProBranding(false, "after trial free user login");
506506

507507
// Verify entitlements API consistency for logged in free user
508-
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME },
508+
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE },
509509
"free plan for logged in user with expired trial");
510510
await verifyIsInProTrialEntitlement(false, "still no trial after login");
511511
await verifyLiveEditEntitlement({ activated: false }, "live edit still deactivated after login");
@@ -551,7 +551,7 @@ define(function (require, exports, module) {
551551
await verifyProBranding(false, "no pro branding initially due to expired entitlements");
552552

553553
// Verify entitlements API consistency for logged out user with no trial
554-
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME },
554+
await verifyPlanEntitlements({ paidSubscriber: false, name: testWindow.Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE },
555555
"free plan for logged out user with no trial");
556556
await verifyIsInProTrialEntitlement(false, "no trial for logged out user");
557557
await verifyTrialRemainingDaysEntitlement(0, "no trial days remaining");

test/spec/login-utils-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,4 +497,4 @@ define(function (require, exports, module) {
497497
});
498498
});
499499
});
500-
});
500+
});

test/spec/promotions-integ-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ define(function (require, exports, module) {
818818
LoginServiceExports._validateAndFilterEntitlements(expiredPlanEntitlements);
819819

820820
expect(expiredPlanEntitlements.plan.paidSubscriber).toBe(false);
821-
expect(expiredPlanEntitlements.plan.name).toBe(testWindow.Strings.USER_FREE_PLAN_NAME);
821+
expect(expiredPlanEntitlements.plan.name).toBe(testWindow.Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE);
822822
expect(expiredPlanEntitlements.plan.validTill).toBeGreaterThan(mockNow);
823823

824824
// Test valid plan remains unchanged
@@ -848,7 +848,7 @@ define(function (require, exports, module) {
848848
LoginServiceExports._validateAndFilterEntitlements(noValidTillEntitlements);
849849

850850
expect(noValidTillEntitlements.plan.paidSubscriber).toBe(false);
851-
expect(noValidTillEntitlements.plan.name).toBe(testWindow.Strings.USER_FREE_PLAN_NAME);
851+
expect(noValidTillEntitlements.plan.name).toBe(testWindow.Strings.USER_FREE_PLAN_NAME_DO_NOT_TRANSLATE);
852852
});
853853

854854
it("should validate and filter expired feature entitlements", function () {

0 commit comments

Comments
 (0)