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