diff --git a/services/web/app/src/Features/Project/ProjectListController.mjs b/services/web/app/src/Features/Project/ProjectListController.mjs index 281406645b..82d0d2efdd 100644 --- a/services/web/app/src/Features/Project/ProjectListController.mjs +++ b/services/web/app/src/Features/Project/ProjectListController.mjs @@ -350,7 +350,7 @@ async function projectListPage(req, res, next) { 'getUSGovBanner', userEmails, hasPaidAffiliation, - inactiveTutorials.includes('us-gov-banner') + inactiveTutorials ) const usGovBanner = (usGovBannerHooksResponse && diff --git a/services/web/app/src/Features/Tutorial/TutorialController.mjs b/services/web/app/src/Features/Tutorial/TutorialController.mjs index 4aadb6b451..3672f8db0d 100644 --- a/services/web/app/src/Features/Tutorial/TutorialController.mjs +++ b/services/web/app/src/Features/Tutorial/TutorialController.mjs @@ -11,6 +11,7 @@ const VALID_KEYS = [ 'code-editor-mode-prompt', 'history-restore-promo', 'us-gov-banner', + 'us-gov-banner-fedramp', ] async function completeTutorial(req, res, next) { diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index c8864d8b2a..e9da93da86 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -1925,6 +1925,7 @@ "upload_project": "", "upload_zipped_project": "", "url_to_fetch_the_file_from": "", + "us_gov_banner_fedramp": "", "us_gov_banner_government_purchasing": "", "us_gov_banner_small_business_reseller": "", "usage_metrics": "", diff --git a/services/web/locales/en.json b/services/web/locales/en.json index dd743ad959..39ed450330 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -2461,6 +2461,7 @@ "upload_project": "Upload Project", "upload_zipped_project": "Upload Zipped Project", "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_fedramp": "<0>Now FedRAMP® authorized for LI-SaaS: Overleaf’s Group Professional subscription. Need an air-gapped deployment? We offer an on-premises solution too. Talk to our US federal government team.", "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy Overleaf organizational plans. Talk to our government team.", "usage_metrics": "Usage metrics", diff --git a/services/web/test/unit/src/Project/ProjectListControllerTests.mjs b/services/web/test/unit/src/Project/ProjectListControllerTests.mjs index 74065db753..40c6dfaa54 100644 --- a/services/web/test/unit/src/Project/ProjectListControllerTests.mjs +++ b/services/web/test/unit/src/Project/ProjectListControllerTests.mjs @@ -692,7 +692,7 @@ describe('ProjectListController', function () { this.UserGetter.promises.getUserFullEmails.resolves(emails) this.Modules.promises.hooks.fire - .withArgs('getUSGovBanner', emails, false, false) + .withArgs('getUSGovBanner', emails, false, []) .resolves([ { showUSGovBanner: true, diff --git a/services/web/types/project/dashboard/notification.ts b/services/web/types/project/dashboard/notification.ts index ff5f23e459..4aa0da5a7d 100644 --- a/services/web/types/project/dashboard/notification.ts +++ b/services/web/types/project/dashboard/notification.ts @@ -110,5 +110,6 @@ export type GroupsAndEnterpriseBannerVariant = export const USGovBannerVariants = [ 'government-purchasing', 'small-business-reseller', + 'fedramp', ] as const export type USGovBannerVariant = (typeof USGovBannerVariants)[number]