@edx/frontend-plugin-advertisements 1.31.0 → 1.32.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.
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const PAGE_NAMES = {
8
+ HOME: 'course_home',
9
+ IN_COURSE: 'in_course',
10
+ PROGRESS: 'progress'
11
+ };
12
+ var _default = exports.default = PAGE_NAMES;
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["PAGE_NAMES","HOME","IN_COURSE","PROGRESS","_default","exports","default"],"sources":["../../src/data/constants.js"],"sourcesContent":["const PAGE_NAMES = {\n HOME: 'course_home',\n IN_COURSE: 'in_course',\n PROGRESS: 'progress',\n};\n\nexport default PAGE_NAMES;\n"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAG;EACjBC,IAAI,EAAE,aAAa;EACnBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACZ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaN,UAAU","ignoreList":[]}
@@ -16,6 +16,8 @@ var _modelStore = require("@src/generic/model-store");
16
16
  var _certificatePreview = _interopRequireDefault(require("./certificate-preview"));
17
17
  var _generic = require("../generic");
18
18
  var _messages = _interopRequireDefault(require("./messages"));
19
+ var _utils = require("./utils");
20
+ var _constants = _interopRequireDefault(require("../data/constants"));
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -65,8 +67,11 @@ const DefaultUpgradeNotification = _ref => {
65
67
  const accessExpirationDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;
66
68
  const pastExpirationDeadline = accessExpiration ? new Date(dateNow) > accessExpirationDate : false;
67
69
  const shouldDisplayBorder = pluginLocationId.includes('outline');
68
- const upsellPageName = pluginLocationId === 'outline_tab_notifications' ? 'course_home' : 'in_course';
70
+ const upsellPageName = (0, _utils.getUpsellPageName)({
71
+ id: pluginLocationId
72
+ });
69
73
  const setupgradeNotificationCurrentState = setNotificationCurrentState;
74
+ const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;
70
75
  const eventProperties = {
71
76
  org_key: org,
72
77
  courserun_key: courseId
@@ -117,10 +122,13 @@ const DefaultUpgradeNotification = _ref => {
117
122
  */
118
123
  let upgradeNotificationHeaderText;
119
124
  let expirationBanner;
120
- let upsellMessage;
125
+ let upsellMessage = (0, _utils.getUpsellBullets)({
126
+ isFBE,
127
+ upsellPageName
128
+ });
121
129
  let callToActionButton;
122
130
  let offerCode;
123
- if (!!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled) {
131
+ if (isFBE) {
124
132
  const hoursToAccessExpiration = Math.floor((accessExpirationDate - correctedTime) / 1000 / 60 / 60);
125
133
  if (hoursToAccessExpiration >= 7 * 24) {
126
134
  if (offer) {
@@ -144,9 +152,6 @@ const DefaultUpgradeNotification = _ref => {
144
152
  setupgradeNotificationCurrentState: setupgradeNotificationCurrentState
145
153
  });
146
154
  }
147
- upsellMessage = /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFarAwayCardContent, {
148
- isFBE: true
149
- });
150
155
  } else if (hoursToAccessExpiration < 7 * 24 && hoursToAccessExpiration >= 0) {
151
156
  // more urgent messaging if there's less than 7 days left to access expiration
152
157
  upgradeNotificationHeaderText = formatMessage(_messages.default.accessExpirationUrgentHeader);
@@ -156,10 +161,12 @@ const DefaultUpgradeNotification = _ref => {
156
161
  setupgradeNotificationCurrentState: setupgradeNotificationCurrentState,
157
162
  type: "access"
158
163
  });
159
- upsellMessage = /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFBESoonCardContent, {
160
- accessExpirationDate: accessExpirationDate,
161
- timezoneFormatArgs: timezoneFormatArgs
162
- });
164
+ if (upsellPageName !== _constants.default.PROGRESS) {
165
+ upsellMessage = /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFBESoonCardContent, {
166
+ accessExpirationDate: accessExpirationDate,
167
+ timezoneFormatArgs: timezoneFormatArgs
168
+ });
169
+ }
163
170
  } else {
164
171
  // access expiration deadline has passed
165
172
  upgradeNotificationHeaderText = formatMessage(_messages.default.accessExpirationPastHeader);
@@ -174,7 +181,6 @@ const DefaultUpgradeNotification = _ref => {
174
181
  } else {
175
182
  // FBE is turned off
176
183
  upgradeNotificationHeaderText = formatMessage(_messages.default.pursueCertificateMessage);
177
- upsellMessage = /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFarAwayCardContent, {});
178
184
  }
179
185
  if (pastExpirationDeadline) {
180
186
  callToActionButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
@@ -211,7 +217,8 @@ const DefaultUpgradeNotification = _ref => {
211
217
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
212
218
  id: "courseHome-upgradeNotification",
213
219
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_certificatePreview.default, {
214
- courseId: courseId
220
+ courseId: courseId,
221
+ bgColor: upsellPageName === _constants.default.PROGRESS ? 'bg-light-100' : ''
215
222
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
216
223
  className: (0, _classnames.default)('h5 upgrade-notification-header', {
217
224
  'd-flex align-items-center mr-2 ml-4 my-1.5 font-size-18': !!toggleSidebar
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultUpgradeNotification.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_i18n","_analytics","_paragon","_icons","_upgradeButton","_modelStore","_certificatePreview","_generic","_messages","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","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","key","value","_toPropertyKey","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DefaultUpgradeNotification","_ref","id","courseId","model","setNotificationCurrentState","toggleSidebar","pluginLocationId","formatMessage","useIntl","org","userTimezone","verifiedMode","useModel","marketingUrl","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","upgradeDeadline","pastExpirationDeadline","shouldDisplayBorder","includes","upsellPageName","setupgradeNotificationCurrentState","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","logClickPastExpiration","upgradeNotificationHeaderText","expirationBanner","upsellMessage","callToActionButton","offerCode","contentTypeGatingEnabled","hoursToAccessExpiration","Math","floor","hoursToDiscountExpiration","expirationDate","messages","firstTimeLearnerDiscountHeader","percentage","jsx","ExpirationCountdown","hoursToExpiration","type","accessExpirationHeader","AccessExpirationDateBanner","UpsellFarAwayCardContent","isFBE","accessExpirationUrgentHeader","UpsellFBESoonCardContent","accessExpirationPastHeader","PastExpirationDateBanner","PastExpirationCardContent","pursueCertificateMessage","Button","variant","onClick","href","block","children","pastExpirationCallToActionLabel","UpgradeButton","className","discountCodeMessage","code","classNames","jsxs","IconButton","src","Close","size","iconAs","Icon","alt","closeAlt","propTypes","PropTypes","string","isRequired","func","defaultProps","_default","exports"],"sources":["../../src/upgrade-notification/DefaultUpgradeNotification.jsx"],"sourcesContent":["/* 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 { UpgradeButton } from '@src/generic/upgrade-button';\nimport { useModel } from '@src/generic/model-store';\n\nimport CertificatePreview from './certificate-preview';\nimport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationCardContent,\n PastExpirationDateBanner,\n UpsellFarAwayCardContent,\n UpsellFBESoonCardContent,\n} from '../generic';\nimport messages from './messages';\n\nconst DefaultUpgradeNotification = ({\n id,\n courseId,\n model,\n setNotificationCurrentState,\n toggleSidebar,\n}) => {\n const pluginLocationId = id;\n const { formatMessage } = useIntl();\n const {\n org,\n userTimezone,\n verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n marketingUrl,\n } = useModel('coursewareMeta', courseId);\n\n /**\n * model prop is use to select relevant model to get offer which is passed from the frontend-app-learning app.\n * for OutlineTab component use outline model and\n * for NotificationTray component use coursewareMeta model to show offer code.\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 = pluginLocationId === 'outline_tab_notifications' ? 'course_home' : 'in_course';\n const setupgradeNotificationCurrentState = setNotificationCurrentState;\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 };\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 logClick = () => {\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 linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_notification.past_expiration.button_clicked', {\n ...eventProperties,\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 upsellMessage;\n let callToActionButton;\n let offerCode;\n\n if (!!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled) {\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 upsellMessage = <UpsellFarAwayCardContent isFBE />;\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 upsellMessage = (\n <UpsellFBESoonCardContent\n accessExpirationDate={accessExpirationDate}\n timezoneFormatArgs={timezoneFormatArgs}\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 } else { // FBE is turned off\n upgradeNotificationHeaderText = formatMessage(messages.pursueCertificateMessage);\n upsellMessage = (<UpsellFarAwayCardContent />);\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={logClick}\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 <CertificatePreview courseId={courseId} />\n <h2\n className={classNames('h5 upgrade-notification-header', {\n 'd-flex align-items-center mr-2 ml-4 my-1.5 font-size-18': !!toggleSidebar,\n })}\n id=\"outline-sidebar-upgrade-header\"\n >\n {upgradeNotificationHeaderText}\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 {expirationBanner}\n <div className=\"upgrade-notification-message\">\n {upsellMessage}\n </div>\n <div className=\"upgrade-notification-button\">\n {callToActionButton}\n </div>\n {offerCode}\n </div>\n </section>\n );\n};\n\nDefaultUpgradeNotification.propTypes = {\n id: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n model: PropTypes.string,\n setNotificationCurrentState: PropTypes.func,\n toggleSidebar: PropTypes.func,\n};\n\nDefaultUpgradeNotification.defaultProps = {\n setNotificationCurrentState: null,\n toggleSidebar: null,\n model: 'outline',\n};\n\nexport default DefaultUpgradeNotification;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DefaultUpgradeNotification.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_i18n","_analytics","_paragon","_icons","_upgradeButton","_modelStore","_certificatePreview","_generic","_messages","_utils","_constants","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","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","key","value","_toPropertyKey","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DefaultUpgradeNotification","_ref","id","courseId","model","setNotificationCurrentState","toggleSidebar","pluginLocationId","formatMessage","useIntl","org","userTimezone","verifiedMode","useModel","marketingUrl","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","upgradeDeadline","pastExpirationDeadline","shouldDisplayBorder","includes","upsellPageName","getUpsellPageName","setupgradeNotificationCurrentState","isFBE","contentTypeGatingEnabled","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","logClickPastExpiration","upgradeNotificationHeaderText","expirationBanner","upsellMessage","getUpsellBullets","callToActionButton","offerCode","hoursToAccessExpiration","Math","floor","hoursToDiscountExpiration","expirationDate","messages","firstTimeLearnerDiscountHeader","percentage","jsx","ExpirationCountdown","hoursToExpiration","type","accessExpirationHeader","AccessExpirationDateBanner","accessExpirationUrgentHeader","PAGE_NAMES","PROGRESS","UpsellFBESoonCardContent","accessExpirationPastHeader","PastExpirationDateBanner","PastExpirationCardContent","pursueCertificateMessage","Button","variant","onClick","href","block","children","pastExpirationCallToActionLabel","UpgradeButton","className","discountCodeMessage","code","classNames","jsxs","bgColor","IconButton","src","Close","size","iconAs","Icon","alt","closeAlt","propTypes","PropTypes","string","isRequired","func","defaultProps","_default","exports"],"sources":["../../src/upgrade-notification/DefaultUpgradeNotification.jsx"],"sourcesContent":["/* 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 { UpgradeButton } from '@src/generic/upgrade-button';\nimport { useModel } from '@src/generic/model-store';\n\nimport CertificatePreview from './certificate-preview';\nimport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationCardContent,\n PastExpirationDateBanner,\n UpsellFBESoonCardContent,\n} from '../generic';\nimport messages from './messages';\nimport { getUpsellBullets, getUpsellPageName } from './utils';\nimport PAGE_NAMES from '../data/constants';\n\nconst DefaultUpgradeNotification = ({\n id,\n courseId,\n model,\n setNotificationCurrentState,\n toggleSidebar,\n}) => {\n const pluginLocationId = id;\n const { formatMessage } = useIntl();\n const {\n org,\n userTimezone,\n verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n marketingUrl,\n } = useModel('coursewareMeta', courseId);\n\n /**\n * model prop is use to select relevant model to get offer which is passed from the frontend-app-learning app.\n * for OutlineTab component use outline model and\n * for NotificationTray component use coursewareMeta model to show offer code.\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 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 };\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 logClick = () => {\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 linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_notification.past_expiration.button_clicked', {\n ...eventProperties,\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 upsellMessage = getUpsellBullets({ isFBE, upsellPageName });\n let callToActionButton;\n let offerCode;\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 } else { // FBE is turned off\n upgradeNotificationHeaderText = formatMessage(messages.pursueCertificateMessage);\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={logClick}\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 <CertificatePreview\n courseId={courseId}\n bgColor={upsellPageName === PAGE_NAMES.PROGRESS ? 'bg-light-100' : ''}\n />\n <h2\n className={classNames('h5 upgrade-notification-header', {\n 'd-flex align-items-center mr-2 ml-4 my-1.5 font-size-18': !!toggleSidebar,\n })}\n id=\"outline-sidebar-upgrade-header\"\n >\n {upgradeNotificationHeaderText}\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 {expirationBanner}\n <div className=\"upgrade-notification-message\">\n {upsellMessage}\n </div>\n <div className=\"upgrade-notification-button\">\n {callToActionButton}\n </div>\n {offerCode}\n </div>\n </section>\n );\n};\n\nDefaultUpgradeNotification.propTypes = {\n id: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n model: PropTypes.string,\n setNotificationCurrentState: PropTypes.func,\n toggleSidebar: PropTypes.func,\n};\n\nDefaultUpgradeNotification.defaultProps = {\n setNotificationCurrentState: null,\n toggleSidebar: null,\n model: 'outline',\n};\n\nexport default DefaultUpgradeNotification;\n"],"mappings":"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","ignoreList":[]}
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
8
  var _DefaultUpgradeNotification = _interopRequireDefault(require("./DefaultUpgradeNotification"));
8
9
  var _ExperimentalUpgradeNotification = _interopRequireDefault(require("./ExperimentalUpgradeNotification"));
9
10
  var _optimizely = _interopRequireDefault(require("../optimizely"));
10
11
  var _optimizely2 = require("../data/optimizely");
12
+ var _constants = _interopRequireDefault(require("../data/constants"));
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -15,11 +17,19 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
15
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
19
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
- const UpgradeNotification = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_optimizely.default, _objectSpread({
19
- defaultComponent: _DefaultUpgradeNotification.default,
20
- experimentalComponent: _ExperimentalUpgradeNotification.default,
21
- defaultVariationKey: "off",
22
- experimentKey: _optimizely2.OPTIMIZELY_VTR_BULLET_EXPERIMENT.KEY
23
- }, props));
20
+ const UpgradeNotification = props => {
21
+ if (props.id.includes(_constants.default.PROGRESS)) {
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DefaultUpgradeNotification.default, _objectSpread({}, props));
23
+ }
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_optimizely.default, _objectSpread({
25
+ defaultComponent: _DefaultUpgradeNotification.default,
26
+ experimentalComponent: _ExperimentalUpgradeNotification.default,
27
+ defaultVariationKey: "off",
28
+ experimentKey: _optimizely2.OPTIMIZELY_VTR_BULLET_EXPERIMENT.KEY
29
+ }, props));
30
+ };
31
+ UpgradeNotification.propTypes = {
32
+ id: _propTypes.default.string.isRequired
33
+ };
24
34
  var _default = exports.default = UpgradeNotification;
25
35
  //# sourceMappingURL=UpgradeNotification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeNotification.js","names":["_DefaultUpgradeNotification","_interopRequireDefault","require","_ExperimentalUpgradeNotification","_optimizely","_optimizely2","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","UpgradeNotification","props","jsx","defaultComponent","DefaultUpgradeNotification","experimentalComponent","ExperimentalUpgradeNotification","defaultVariationKey","experimentKey","OPTIMIZELY_VTR_BULLET_EXPERIMENT","KEY","_default","exports"],"sources":["../../src/upgrade-notification/UpgradeNotification.jsx"],"sourcesContent":["import DefaultUpgradeNotification from './DefaultUpgradeNotification';\nimport ExperimentalUpgradeNotification from './ExperimentalUpgradeNotification';\n\nimport OptimizelyExperiment from '../optimizely';\nimport { OPTIMIZELY_VTR_BULLET_EXPERIMENT } from '../data/optimizely';\n\nconst UpgradeNotification = (props) => (\n <OptimizelyExperiment\n defaultComponent={DefaultUpgradeNotification}\n experimentalComponent={ExperimentalUpgradeNotification}\n defaultVariationKey=\"off\"\n experimentKey={OPTIMIZELY_VTR_BULLET_EXPERIMENT.KEY}\n {...props}\n />\n);\n\nexport default UpgradeNotification;\n"],"mappings":";;;;;;AAAA,IAAAA,2BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gCAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAAsE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,uCAAAuB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAyB,MAAA,CAAAC,WAAA,kBAAA5B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA6B,IAAA,CAAA3B,CAAA,EAAAD,CAAA,uCAAAwB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA7B,CAAA,GAAA8B,MAAA,GAAAC,MAAA,EAAA9B,CAAA;AAEtE,MAAM+B,mBAAmB,GAAIC,KAAK,iBAChC,IAAAvC,WAAA,CAAAwC,GAAA,EAAC1C,WAAA,CAAAK,OAAoB,EAAAc,aAAA;EACnBwB,gBAAgB,EAAEC,mCAA2B;EAC7CC,qBAAqB,EAAEC,wCAAgC;EACvDC,mBAAmB,EAAC,KAAK;EACzBC,aAAa,EAAEC,6CAAgC,CAACC;AAAI,GAChDT,KAAK,CACV,CACF;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAA/C,OAAA,GAEamC,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"UpgradeNotification.js","names":["_propTypes","_interopRequireDefault","require","_DefaultUpgradeNotification","_ExperimentalUpgradeNotification","_optimizely","_optimizely2","_constants","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","UpgradeNotification","props","id","includes","PAGE_NAMES","PROGRESS","jsx","defaultComponent","DefaultUpgradeNotification","experimentalComponent","ExperimentalUpgradeNotification","defaultVariationKey","experimentKey","OPTIMIZELY_VTR_BULLET_EXPERIMENT","KEY","propTypes","PropTypes","string","isRequired","_default","exports"],"sources":["../../src/upgrade-notification/UpgradeNotification.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport DefaultUpgradeNotification from './DefaultUpgradeNotification';\nimport ExperimentalUpgradeNotification from './ExperimentalUpgradeNotification';\n\nimport OptimizelyExperiment from '../optimizely';\nimport { OPTIMIZELY_VTR_BULLET_EXPERIMENT } from '../data/optimizely';\nimport PAGE_NAMES from '../data/constants';\n\nconst UpgradeNotification = (props) => {\n if (props.id.includes(PAGE_NAMES.PROGRESS)) {\n return (\n <DefaultUpgradeNotification {...props} />\n );\n }\n\n return (\n <OptimizelyExperiment\n defaultComponent={DefaultUpgradeNotification}\n experimentalComponent={ExperimentalUpgradeNotification}\n defaultVariationKey=\"off\"\n experimentKey={OPTIMIZELY_VTR_BULLET_EXPERIMENT.KEY}\n {...props}\n />\n );\n};\n\nUpgradeNotification.propTypes = {\n id: PropTypes.string.isRequired,\n};\n\nexport default UpgradeNotification;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getUpsellPageName = exports.getUpsellBullets = void 0;
7
+ var _constants = _interopRequireDefault(require("../data/constants"));
8
+ var _generic = require("../generic");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const getUpsellPageName = _ref => {
12
+ let {
13
+ id
14
+ } = _ref;
15
+ if (id.includes('outline')) {
16
+ return _constants.default.HOME;
17
+ }
18
+ if (id.includes('progress')) {
19
+ return _constants.default.PROGRESS;
20
+ }
21
+ return _constants.default.IN_COURSE;
22
+ };
23
+ exports.getUpsellPageName = getUpsellPageName;
24
+ const getUpsellBullets = _ref2 => {
25
+ let {
26
+ upsellPageName,
27
+ isFBE
28
+ } = _ref2;
29
+ if (upsellPageName === _constants.default.PROGRESS) {
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.ExperimentalUpsellBullets, {
31
+ isFBE
32
+ });
33
+ }
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFarAwayCardContent, {
35
+ isFBE
36
+ });
37
+ };
38
+ exports.getUpsellBullets = getUpsellBullets;
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["_constants","_interopRequireDefault","require","_generic","_jsxRuntime","obj","__esModule","default","getUpsellPageName","_ref","id","includes","PAGE_NAMES","HOME","PROGRESS","IN_COURSE","exports","getUpsellBullets","_ref2","upsellPageName","isFBE","jsx","ExperimentalUpsellBullets","UpsellFarAwayCardContent"],"sources":["../../src/upgrade-notification/utils.jsx"],"sourcesContent":["import PAGE_NAMES from '../data/constants';\nimport { ExperimentalUpsellBullets, UpsellFarAwayCardContent } from '../generic';\n\nexport const getUpsellPageName = ({ id }) => {\n if (id.includes('outline')) {\n return PAGE_NAMES.HOME;\n }\n\n if (id.includes('progress')) {\n return PAGE_NAMES.PROGRESS;\n }\n\n return PAGE_NAMES.IN_COURSE;\n};\n\nexport const getUpsellBullets = ({ upsellPageName, isFBE }) => {\n if (upsellPageName === PAGE_NAMES.PROGRESS) {\n return <ExperimentalUpsellBullets {...{ isFBE }} />;\n }\n\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAiF,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1E,MAAMG,iBAAiB,GAAGC,IAAA,IAAY;EAAA,IAAX;IAAEC;EAAG,CAAC,GAAAD,IAAA;EACtC,IAAIC,EAAE,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;IAC1B,OAAOC,kBAAU,CAACC,IAAI;EACxB;EAEA,IAAIH,EAAE,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;IAC3B,OAAOC,kBAAU,CAACE,QAAQ;EAC5B;EAEA,OAAOF,kBAAU,CAACG,SAAS;AAC7B,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA;AAEK,MAAMS,gBAAgB,GAAGC,KAAA,IAA+B;EAAA,IAA9B;IAAEC,cAAc;IAAEC;EAAM,CAAC,GAAAF,KAAA;EACxD,IAAIC,cAAc,KAAKP,kBAAU,CAACE,QAAQ,EAAE;IAC1C,oBAAO,IAAAV,WAAA,CAAAiB,GAAA,EAAClB,QAAA,CAAAmB,yBAAyB;MAAOF;IAAK,CAAK,CAAC;EACrD;EAEA,oBAAO,IAAAhB,WAAA,CAAAiB,GAAA,EAAClB,QAAA,CAAAoB,wBAAwB;IAAOH;EAAK,CAAK,CAAC;AACpD,CAAC;AAACJ,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-plugin-advertisements",
3
- "version": "1.31.0",
3
+ "version": "1.32.0",
4
4
  "description": "Frontend plugin for edX in course advertisements",
5
5
  "main": "dist/index.js",
6
6
  "repository": {