@edx/frontend-plugin-advertisements 1.31.0 → 1.33.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/constants.js +13 -0
- package/dist/data/constants.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/upgrade-notification/DefaultUpgradeNotification.js +19 -12
- package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
- package/dist/upgrade-notification/UpgradeNotification.js +16 -6
- package/dist/upgrade-notification/UpgradeNotification.js.map +1 -1
- package/dist/upgrade-notification/utils.js +39 -0
- package/dist/upgrade-notification/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -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":[]}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ExperimentalUpsellBullets", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _generic.ExperimentalUpsellBullets;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "LockPaywall", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","_generic","obj","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport NextUnitButton from './upgrade-modal';\nimport { UpsellFarAwayCardContent } from './generic';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n NextUnitButton,\n UpsellFarAwayCardContent,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","_generic","obj","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport NextUnitButton from './upgrade-modal';\nimport { UpsellFarAwayCardContent, ExperimentalUpsellBullets } from './generic';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n NextUnitButton,\n UpsellFarAwayCardContent,\n ExperimentalUpsellBullets,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAgF,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","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 =
|
|
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 (
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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 =>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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":["
|
|
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":[]}
|