@edx/frontend-plugin-advertisements 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/index.js +0 -12
- package/dist/data/index.js.map +1 -1
- package/dist/data/optimizely.js +1 -22
- package/dist/data/optimizely.js.map +1 -1
- package/dist/paywall/LockPaywall.js +151 -11
- package/dist/paywall/LockPaywall.js.map +1 -1
- package/dist/upgrade-modal/NextUnitButton.js +2 -2
- package/dist/upgrade-modal/NextUnitButton.js.map +1 -1
- package/dist/upgrade-modal/{DefaultUpgradeModal.js → UpgradeModal.js} +8 -9
- package/dist/upgrade-modal/UpgradeModal.js.map +1 -0
- package/dist/upgrade-notification/UpgradeNotification.js +237 -16
- package/dist/upgrade-notification/UpgradeNotification.js.map +1 -1
- package/package.json +1 -1
- package/dist/optimizely/utils.js +0 -45
- package/dist/optimizely/utils.js.map +0 -1
- package/dist/paywall/DefaultLockPaywall.js +0 -164
- package/dist/paywall/DefaultLockPaywall.js.map +0 -1
- package/dist/paywall/ExperimentalLockPaywall.js +0 -197
- package/dist/paywall/ExperimentalLockPaywall.js.map +0 -1
- package/dist/upgrade-modal/DefaultUpgradeModal.js.map +0 -1
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js +0 -188
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +0 -1
- package/dist/upgrade-modal/UpgradeModalWrapper.js +0 -22
- package/dist/upgrade-modal/UpgradeModalWrapper.js.map +0 -1
- package/dist/upgrade-notification/DefaultUpgradeNotification.js +0 -261
- package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +0 -1
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +0 -309
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExperimentalUpgradeNotification.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_i18n","_analytics","_paragon","_icons","_reactSdk","_upgradeButton","_modelStore","_utils","_data","_certificatePreview","_generic","_utils2","_messages","_cohesion","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ExperimentalUpgradeNotification","_ref","id","courseId","model","setNotificationCurrentState","toggleSidebar","optimizely","pluginLocationId","formatMessage","useIntl","conversion","useCohesion","KEY","experimentKey","ANY_CLICK_ACTION","OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT","org","userTimezone","verifiedMode","useModel","marketingUrl","learningAssistantEnabled","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","upgradeDeadline","pastExpirationDeadline","shouldDisplayBorder","includes","upsellPageName","getUpsellPageName","setupgradeNotificationCurrentState","isFBE","contentTypeGatingEnabled","decision","useDecision","enabled","variationKey","experimentProperties","experiment_key","variation_key","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logUpgradeClick","location","linkCategory","linkName","linkType","pageName","track","logClickPastExpiration","upgradeNotificationHeaderText","expirationBanner","callToActionButton","offerCode","upsellMessage","getBulletVariation","enabledVariation","jsx","UpsellBullets","hoursToAccessExpiration","Math","floor","hoursToDiscountExpiration","expirationDate","messages","firstTimeLearnerDiscountHeader","percentage","ExpirationCountdown","hoursToExpiration","type","accessExpirationHeader","AccessExpirationDateBanner","accessExpirationUrgentHeader","PAGE_NAMES","PROGRESS","UpsellFBESoonCardContent","accessExpirationPastHeader","PastExpirationDateBanner","PastExpirationCardContent","Button","variant","onClick","href","block","children","pastExpirationCallToActionLabel","UpgradeButton","className","discountCodeMessage","code","classNames","jsxs","pursueCertificateMessage","IconButton","src","Close","size","iconAs","Icon","alt","closeAlt","propTypes","PropTypes","string","isRequired","func","object","defaultProps","_default","exports","withOptimizely"],"sources":["../../src/upgrade-notification/ExperimentalUpgradeNotification.jsx"],"sourcesContent":["/* All of this code includes the necessary functions to run and track an A/B experiment\n using Optimizely. Please fully read through the code to know where changes\n need to be made specifically for a new test.\n\n As of 2025-01-08, this code is functionally the same as the\n DefaultUpgradeNotification.\n*/\n\n/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { Button, Icon, IconButton } from '@openedx/paragon';\nimport { Close } from '@openedx/paragon/icons';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\n\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { useModel } from '@src/generic/model-store';\n\nimport getBulletVariation from '../optimizely/utils';\nimport { OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT, PAGE_NAMES } from '../data';\nimport CertificatePreview from './certificate-preview';\nimport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationDateBanner,\n PastExpirationCardContent,\n UpsellFBESoonCardContent,\n UpsellBullets,\n} from '../generic';\nimport getUpsellPageName from './utils';\nimport messages from './messages';\nimport { useCohesion } from '../cohesion';\n\nconst ExperimentalUpgradeNotification = ({\n id,\n courseId,\n model,\n setNotificationCurrentState,\n toggleSidebar,\n optimizely,\n}) => {\n const pluginLocationId = id;\n const { formatMessage } = useIntl();\n const { conversion } = useCohesion(courseId);\n\n /*\n Update the following line with the new experiment constants.\n KEY and ANY_CLICK_ACTION are required and used in the later in the code.\n To update the variables, make changes in ../optimizely/utils\n */\n const { KEY: experimentKey, ANY_CLICK_ACTION } = OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT;\n\n const {\n org,\n userTimezone,\n verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n marketingUrl,\n learningAssistantEnabled,\n } = useModel('coursewareMeta', courseId);\n\n const {\n accessExpiration,\n datesBannerInfo,\n offer,\n timeOffsetMillis,\n } = useModel(model, courseId);\n\n const dateNow = Date.now();\n const timezoneFormatArgs = userTimezone ? { timeZone: userTimezone } : {};\n const correctedTime = new Date(dateNow + timeOffsetMillis);\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(dateNow) > accessExpirationDate : false;\n const shouldDisplayBorder = pluginLocationId.includes('outline');\n const upsellPageName = getUpsellPageName({ id: pluginLocationId });\n const setupgradeNotificationCurrentState = setNotificationCurrentState;\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n\n const [decision] = useDecision(experimentKey);\n const { enabled, variationKey } = decision;\n\n // Experiment specific properties or data should not be sent to the tracking logs, so break this\n // object out to ensure it is only sent to Segment and not the tracking logs.\n const experimentProperties = {\n experiment_key: experimentKey,\n variation_key: variationKey,\n };\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n\n const promotionEventProperties = {\n creative: 'sidebarupsell',\n name: 'In-Course Verification Prompt',\n position: 'sidebar-message',\n promotion_id: 'courseware_verified_certificate_upsell',\n ...eventProperties,\n ...experimentProperties,\n };\n\n useEffect(() => {\n sendTrackingLogEvent('edx.bi.course.upgrade.sidebarupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!verifiedMode) {\n return null;\n }\n\n const logUpgradeClick = () => {\n sendTrackingLogEvent('edx.bi.course.upgrade.sidebarupsell.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'sidebar-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n ...experimentProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n\n conversion('Upgraded');\n\n /*\n Confirm that the ANY_CLICK_ACTION matches the event key in Optimizely.\n Add any additional tracking for Optimizely here.\n */\n optimizely.track(ANY_CLICK_ACTION);\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_notification.past_expiration.button_clicked', {\n ...eventProperties,\n ...experimentProperties,\n linkCategory: 'upgrade_notification',\n linkName: `${upsellPageName}_course_details`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n /*\n There are 5 parts that change in the upgrade card:\n upgradeNotificationHeaderText\n expirationBanner\n upsellMessage\n callToActionButton\n offerCode\n */\n let upgradeNotificationHeaderText;\n let expirationBanner;\n let callToActionButton;\n let offerCode;\n\n /*\n Update the enabled variation according to your experiment\n */\n let upsellMessage = getBulletVariation({\n enabled,\n variationKey,\n isFBE,\n enabledVariation: (\n <UpsellBullets {...{ isFBE, learningAssistantEnabled }} />\n ),\n });\n\n if (isFBE) {\n const hoursToAccessExpiration = Math.floor((accessExpirationDate - correctedTime) / 1000 / 60 / 60);\n\n if (hoursToAccessExpiration >= (7 * 24)) {\n if (offer) { // countdown to the first purchase discount if there is one\n const hoursToDiscountExpiration = Math.floor((new Date(offer.expirationDate) - correctedTime) / 1000 / 60 / 60);\n upgradeNotificationHeaderText = formatMessage(\n messages.firstTimeLearnerDiscountHeader,\n { percentage: (offer.percentage) },\n );\n expirationBanner = (\n <ExpirationCountdown\n courseId={courseId}\n hoursToExpiration={hoursToDiscountExpiration}\n setupgradeNotificationCurrentState={setupgradeNotificationCurrentState}\n type=\"offer\"\n />\n );\n } else {\n upgradeNotificationHeaderText = formatMessage(messages.accessExpirationHeader);\n expirationBanner = (\n <AccessExpirationDateBanner\n courseId={courseId}\n accessExpirationDate={accessExpirationDate}\n timezoneFormatArgs={timezoneFormatArgs}\n setupgradeNotificationCurrentState={setupgradeNotificationCurrentState}\n />\n );\n }\n } else if (hoursToAccessExpiration < (7 * 24) && hoursToAccessExpiration >= 0) {\n // more urgent messaging if there's less than 7 days left to access expiration\n upgradeNotificationHeaderText = formatMessage(messages.accessExpirationUrgentHeader);\n expirationBanner = (\n <ExpirationCountdown\n courseId={courseId}\n hoursToExpiration={hoursToAccessExpiration}\n setupgradeNotificationCurrentState={setupgradeNotificationCurrentState}\n type=\"access\"\n />\n );\n if (upsellPageName !== PAGE_NAMES.PROGRESS) {\n upsellMessage = (\n <UpsellFBESoonCardContent\n accessExpirationDate={accessExpirationDate}\n timezoneFormatArgs={timezoneFormatArgs}\n />\n );\n }\n } else { // access expiration deadline has passed\n upgradeNotificationHeaderText = formatMessage(messages.accessExpirationPastHeader);\n expirationBanner = (\n <PastExpirationDateBanner\n courseId={courseId}\n accessExpirationDate={accessExpirationDate}\n timezoneFormatArgs={timezoneFormatArgs}\n setupgradeNotificationCurrentState={setupgradeNotificationCurrentState}\n />\n );\n upsellMessage = (\n <PastExpirationCardContent />\n );\n }\n }\n\n if (pastExpirationDeadline) {\n callToActionButton = (\n <Button\n variant=\"primary\"\n onClick={logClickPastExpiration}\n href={marketingUrl}\n block\n >\n {formatMessage(messages.pastExpirationCallToActionLabel)}\n </Button>\n );\n } else {\n callToActionButton = (\n <UpgradeButton\n offer={offer}\n onClick={logUpgradeClick}\n verifiedMode={verifiedMode}\n block\n />\n );\n }\n\n if (offer) { // if there's a first purchase discount, message the code at the bottom\n offerCode = (\n <div className=\"text-center discount-info\">\n {formatMessage(\n messages.discountCodeMessage,\n {\n code: (<span className=\"font-weight-bold\">{offer.code}</span>),\n },\n )}\n </div>\n );\n }\n\n return (\n <section className={classNames('upgrade-notification small', { 'pgn__card pgn__card-light card mb-4 rounded': shouldDisplayBorder })}>\n <div id=\"courseHome-upgradeNotification\">\n <h2\n className={classNames('upgrade-notification-header', {\n 'd-flex align-items-center mr-2 ml-4 my-1.5 font-size-18': !!toggleSidebar,\n 'm-4': !toggleSidebar,\n })}\n id=\"outline-sidebar-upgrade-header\"\n >\n {formatMessage(messages.pursueCertificateMessage)}\n {!!toggleSidebar && (\n <div className=\"d-inline-flex ml-auto\">\n <IconButton\n src={Close}\n size=\"sm\"\n iconAs={Icon}\n onClick={toggleSidebar}\n className=\"icon-hover\"\n alt={formatMessage(messages.closeAlt)}\n />\n </div>\n )}\n </h2>\n <CertificatePreview courseId={courseId} />\n <h3 className=\"ml-4\">\n {upgradeNotificationHeaderText}\n </h3>\n {expirationBanner}\n <div className=\"upgrade-notification-message\">\n {upsellMessage}\n </div>\n <div className=\"upgrade-notification-button m-4\">\n {callToActionButton}\n </div>\n {offerCode}\n </div>\n </section>\n );\n};\n\nExperimentalUpgradeNotification.propTypes = {\n id: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n model: PropTypes.string,\n setNotificationCurrentState: PropTypes.func,\n toggleSidebar: PropTypes.func,\n /* eslint-disable-next-line react/forbid-prop-types */\n optimizely: PropTypes.object.isRequired,\n};\n\nExperimentalUpgradeNotification.defaultProps = {\n setNotificationCurrentState: null,\n toggleSidebar: null,\n model: 'outline',\n};\n\nexport default withOptimizely(ExperimentalUpgradeNotification);\n"],"mappings":"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","ignoreList":[]}
|