From aca9466c49b01a66e263bed83da9ddc6d005ef1b Mon Sep 17 00:00:00 2001 From: Jimmy Domagala-Tang Date: Mon, 16 Sep 2024 12:41:14 +0100 Subject: [PATCH] Merge pull request #20389 from overleaf/jdt-add-writefull-commons-to-v1 Add writefull commons to v1 GitOrigin-RevId: 36d1022f41b4db3701c6b8fa2120b035b05b38ba --- .../notifications/writefull-premium-promo-banner.tsx | 8 +++++++- .../emails/emails-section-add-new-email.test.tsx | 1 + .../emails/emails-section-institution-and-role.test.tsx | 2 ++ .../features/settings/fixtures/test-user-email-data.ts | 3 +++ services/web/types/institution.ts | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/features/project-list/components/notifications/writefull-premium-promo-banner.tsx b/services/web/frontend/js/features/project-list/components/notifications/writefull-premium-promo-banner.tsx index dd2a33368f..1d3cb72af6 100644 --- a/services/web/frontend/js/features/project-list/components/notifications/writefull-premium-promo-banner.tsx +++ b/services/web/frontend/js/features/project-list/components/notifications/writefull-premium-promo-banner.tsx @@ -4,6 +4,7 @@ import { sendMB } from '@/infrastructure/event-tracking' import customLocalStorage from '@/infrastructure/local-storage' import WritefullLogo from '@/shared/svgs/writefull-logo' import OLButton from '@/features/ui/components/ol/ol-button' +import getMeta from '@/utils/meta' const eventSegmentation = { location: 'dashboard-banner', @@ -20,6 +21,11 @@ function WritefullPremiumPromoBanner({ setShow: (value: boolean) => void onDismiss: () => void }) { + // dont show the add to WF commons users since their license already includes it + const userAffiliations = getMeta('ol-userAffiliations') || [] + const hasWritefullCommons = userAffiliations.some( + affil => affil.institution?.writefullCommonsAccount + ) const handleClose = useCallback(() => { customLocalStorage.setItem('has_dismissed_writefull_promo_banner', true) setShow(false) @@ -27,7 +33,7 @@ function WritefullPremiumPromoBanner({ onDismiss() }, [setShow, onDismiss]) - if (!show) { + if (!show || hasWritefullCommons) { return null } diff --git a/services/web/test/frontend/features/settings/components/emails/emails-section-add-new-email.test.tsx b/services/web/test/frontend/features/settings/components/emails/emails-section-add-new-email.test.tsx index ac2886ca63..9f2aab9dd7 100644 --- a/services/web/test/frontend/features/settings/components/emails/emails-section-add-new-email.test.tsx +++ b/services/web/test/frontend/features/settings/components/emails/emails-section-add-new-email.test.tsx @@ -23,6 +23,7 @@ const userEmailData: UserEmailData & { affiliation: Affiliation } = { department: 'Art History', institution: { commonsAccount: false, + writefullCommonsAccount: false, confirmed: true, id: 1, isUniversity: true, diff --git a/services/web/test/frontend/features/settings/components/emails/emails-section-institution-and-role.test.tsx b/services/web/test/frontend/features/settings/components/emails/emails-section-institution-and-role.test.tsx index 6c70f44723..2fe47abfa2 100644 --- a/services/web/test/frontend/features/settings/components/emails/emails-section-institution-and-role.test.tsx +++ b/services/web/test/frontend/features/settings/components/emails/emails-section-institution-and-role.test.tsx @@ -23,6 +23,7 @@ const userData1: UserEmailData & { affiliation: Affiliation } = { department: null, institution: { commonsAccount: false, + writefullCommonsAccount: false, confirmed: true, id: 1, isUniversity: false, @@ -53,6 +54,7 @@ const userData2: UserEmailData & { affiliation: Affiliation } = { department: 'Art History', institution: { commonsAccount: false, + writefullCommonsAccount: false, confirmed: true, id: 1, isUniversity: false, diff --git a/services/web/test/frontend/features/settings/fixtures/test-user-email-data.ts b/services/web/test/frontend/features/settings/fixtures/test-user-email-data.ts index 66786ec1e0..ecec525706 100644 --- a/services/web/test/frontend/features/settings/fixtures/test-user-email-data.ts +++ b/services/web/test/frontend/features/settings/fixtures/test-user-email-data.ts @@ -24,6 +24,7 @@ export const professionalUserData: UserEmailData & { department: 'Art History', institution: { commonsAccount: false, + writefullCommonsAccount: false, confirmed: true, id: 1, isUniversity: false, @@ -56,6 +57,7 @@ export const unconfirmedCommonsUserData: UserEmailData & { department: 'Art History', institution: { commonsAccount: true, + writefullCommonsAccount: false, confirmed: true, id: 1, isUniversity: false, @@ -85,6 +87,7 @@ export const ssoUserData: UserEmailData = { department: 'Art History', institution: { commonsAccount: true, + writefullCommonsAccount: false, confirmed: true, id: 2, isUniversity: true, diff --git a/services/web/types/institution.ts b/services/web/types/institution.ts index 4edba50eb9..734ae1524c 100644 --- a/services/web/types/institution.ts +++ b/services/web/types/institution.ts @@ -2,6 +2,7 @@ import { Nullable } from './utils' export type Institution = { commonsAccount: boolean + writefullCommonsAccount: boolean confirmed: boolean id: number isUniversity: boolean