@edx/frontend-plugin-advertisements 1.27.3 → 1.28.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/optimizely.js +4 -3
- package/dist/data/optimizely.js.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/upgrade-modal/DefaultUpgradeModal.js +4 -10
- package/dist/upgrade-modal/DefaultUpgradeModal.js.map +1 -1
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js +5 -11
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +1 -1
- package/dist/upgrade-modal/{NextButton.js → NextUnitButton.js} +13 -28
- package/dist/upgrade-modal/NextUnitButton.js.map +1 -0
- package/dist/upgrade-modal/index.js +7 -0
- package/dist/upgrade-modal/index.js.map +1 -1
- package/dist/upgrade-notification/DefaultUpgradeNotification.js +11 -2
- package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +5 -2
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
- package/package.json +1 -1
- package/dist/upgrade-modal/NextButton.js.map +0 -1
package/dist/data/optimizely.js
CHANGED
|
@@ -22,15 +22,16 @@ const DEFAULT_OPTIMIZELY_AGENT_CONFIG = {
|
|
|
22
22
|
* the OPTIMIZELY_FULL_STACK_SDK_KEY is available and will not be reinitialized afterward. Wrapping the initialization
|
|
23
23
|
* in a function allows components to request the instance as-needed.
|
|
24
24
|
*/
|
|
25
|
+
let instance = null;
|
|
25
26
|
const getOptimizely = () => {
|
|
26
27
|
const OPTIMIZELY_SDK_KEY = (0, _frontendPlatform.getConfig)().OPTIMIZELY_FULL_STACK_SDK_KEY;
|
|
27
28
|
const OPTIMIZELY_AGENT_CONFIG = (0, _frontendPlatform.getConfig)().OPTIMIZELY_AGENT_CONFIG || {};
|
|
28
|
-
if (OPTIMIZELY_SDK_KEY) {
|
|
29
|
-
|
|
29
|
+
if (!instance && OPTIMIZELY_SDK_KEY) {
|
|
30
|
+
instance = (0, _reactSdk.createInstance)(_objectSpread({
|
|
30
31
|
sdkKey: OPTIMIZELY_SDK_KEY
|
|
31
32
|
}, _objectSpread(_objectSpread({}, DEFAULT_OPTIMIZELY_AGENT_CONFIG), OPTIMIZELY_AGENT_CONFIG)));
|
|
32
33
|
}
|
|
33
|
-
return
|
|
34
|
+
return instance;
|
|
34
35
|
};
|
|
35
36
|
exports.getOptimizely = getOptimizely;
|
|
36
37
|
const OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY = exports.OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY = 'verified_take_rate_preview_watermark_experimentation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ensureConfig","DEFAULT_OPTIMIZELY_AGENT_CONFIG","eventFlushInterval","eventBatchSize","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","OPTIMIZELY_AGENT_CONFIG","createInstance","sdkKey","exports","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS","CERTIFICATE_PREVIEW","CERTIFICATE_PREVIEW_WITH_COPY","CONTROL","OFF","OPTIMIZELY_VTR_MODAL_EXPERIMENT","KEY","ACTION","VARIATIONS","ON","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","TABLE","BULLETS","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","DECLINE_UPGRADE_BUTTON_CLICK"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\nimport { ensureConfig, getConfig } from '@edx/frontend-platform';\n\nensureConfig([\n 'OPTIMIZELY_FULL_STACK_SDK_KEY',\n], 'Frontend Plugin Advertisements Optimizely module');\n\nconst DEFAULT_OPTIMIZELY_AGENT_CONFIG = {\n eventFlushInterval: 1000,\n eventBatchSize: 10,\n};\n\n/**\n * Initializing the Optimizely instance at the top-level will not work, becaused it may be initialized before\n * the OPTIMIZELY_FULL_STACK_SDK_KEY is available and will not be reinitialized afterward. Wrapping the initialization\n * in a function allows components to request the instance as-needed.\n */\nconst getOptimizely = () => {\n const OPTIMIZELY_SDK_KEY = getConfig().OPTIMIZELY_FULL_STACK_SDK_KEY;\n const OPTIMIZELY_AGENT_CONFIG = getConfig().OPTIMIZELY_AGENT_CONFIG || {};\n\n if (OPTIMIZELY_SDK_KEY) {\n
|
|
1
|
+
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ensureConfig","DEFAULT_OPTIMIZELY_AGENT_CONFIG","eventFlushInterval","eventBatchSize","instance","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","OPTIMIZELY_AGENT_CONFIG","createInstance","sdkKey","exports","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS","CERTIFICATE_PREVIEW","CERTIFICATE_PREVIEW_WITH_COPY","CONTROL","OFF","OPTIMIZELY_VTR_MODAL_EXPERIMENT","KEY","ACTION","VARIATIONS","ON","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","TABLE","BULLETS","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","DECLINE_UPGRADE_BUTTON_CLICK"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\nimport { ensureConfig, getConfig } from '@edx/frontend-platform';\n\nensureConfig([\n 'OPTIMIZELY_FULL_STACK_SDK_KEY',\n], 'Frontend Plugin Advertisements Optimizely module');\n\nconst DEFAULT_OPTIMIZELY_AGENT_CONFIG = {\n eventFlushInterval: 1000,\n eventBatchSize: 10,\n};\n\n/**\n * Initializing the Optimizely instance at the top-level will not work, becaused it may be initialized before\n * the OPTIMIZELY_FULL_STACK_SDK_KEY is available and will not be reinitialized afterward. Wrapping the initialization\n * in a function allows components to request the instance as-needed.\n */\nlet instance = null;\nconst getOptimizely = () => {\n const OPTIMIZELY_SDK_KEY = getConfig().OPTIMIZELY_FULL_STACK_SDK_KEY;\n const OPTIMIZELY_AGENT_CONFIG = getConfig().OPTIMIZELY_AGENT_CONFIG || {};\n\n if (!instance && OPTIMIZELY_SDK_KEY) {\n instance = createInstance({\n sdkKey: OPTIMIZELY_SDK_KEY,\n ...{\n ...DEFAULT_OPTIMIZELY_AGENT_CONFIG,\n ...OPTIMIZELY_AGENT_CONFIG,\n },\n });\n }\n\n return instance;\n};\n\nconst OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY = 'verified_take_rate_preview_watermark_experimentation';\n\nconst OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS = {\n CERTIFICATE_PREVIEW: 'certificate_preview',\n CERTIFICATE_PREVIEW_WITH_COPY: 'certificate_preview_with_copy',\n CONTROL: 'control',\n OFF: 'off',\n};\n\nconst OPTIMIZELY_VTR_MODAL_EXPERIMENT = {\n KEY: 'vtr_in_course_popup_modal_all_orgs',\n ACTION: 'modal_upgrade_button_click',\n VARIATIONS: {\n ON: 'on', OFF: 'off',\n },\n};\n\nconst OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = {\n KEY: 'cta_bullet_points_experiment',\n ACTION: 'upgrade_button_click',\n VARIATIONS: {\n OFF: 'off',\n TABLE: 'comparison_table',\n BULLETS: 'new_bullets',\n },\n};\n\nconst OPTIMIZELY_EVENT_KEYS = {\n UPGRADE_BUTTON_CLICK: 'upgrade_button_click',\n DECLINE_UPGRADE_BUTTON_CLICK: 'decline_upgrade_button_click',\n};\n\nexport {\n getOptimizely,\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS,\n OPTIMIZELY_VTR_MODAL_EXPERIMENT,\n OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT,\n};\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ExperimentalUpgradeModal", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _upgradeModal.ExperimentalUpgradeModal;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ExperimentalUpgradeNotification", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _ExperimentalUpgradeNotification.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
6
18
|
Object.defineProperty(exports, "LockPaywall", {
|
|
7
19
|
enumerable: true,
|
|
8
20
|
get: function () {
|
|
@@ -23,6 +35,9 @@ Object.defineProperty(exports, "UpgradeNotification", {
|
|
|
23
35
|
});
|
|
24
36
|
var _upgradeNotification = _interopRequireDefault(require("./upgrade-notification"));
|
|
25
37
|
var _paywall = _interopRequireDefault(require("./paywall"));
|
|
26
|
-
var _upgradeModal =
|
|
38
|
+
var _upgradeModal = _interopRequireWildcard(require("./upgrade-modal"));
|
|
39
|
+
var _ExperimentalUpgradeNotification = _interopRequireDefault(require("./upgrade-notification/ExperimentalUpgradeNotification"));
|
|
40
|
+
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); }
|
|
41
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
43
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","_interopRequireWildcard","_ExperimentalUpgradeNotification","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","obj"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport UpgradeModalWrapper, { ExperimentalUpgradeModal } from './upgrade-modal';\nimport ExperimentalUpgradeNotification from './upgrade-notification/ExperimentalUpgradeNotification';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n UpgradeModalWrapper,\n ExperimentalUpgradeModal,\n ExperimentalUpgradeNotification,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,gCAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAqG,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAA0B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAf,UAAA,GAAAe,GAAA,KAAAd,OAAA,EAAAc,GAAA","ignoreList":[]}
|
|
@@ -6,33 +6,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
9
|
+
var _NextUnitButton = _interopRequireDefault(require("./NextUnitButton"));
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
const DefaultUpgradeModal = _ref => {
|
|
13
13
|
let {
|
|
14
14
|
disabled,
|
|
15
15
|
buttonText,
|
|
16
|
-
nextArrow,
|
|
17
16
|
nextLink,
|
|
18
|
-
shouldDisplayNotificationTriggerInSequence,
|
|
19
17
|
sequenceId,
|
|
20
18
|
unitId,
|
|
21
19
|
handleNavigate,
|
|
22
|
-
nextSequenceHandler
|
|
23
|
-
linkComponent
|
|
20
|
+
nextSequenceHandler
|
|
24
21
|
} = _ref;
|
|
25
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NextUnitButton.default, {
|
|
26
23
|
disabled,
|
|
27
24
|
buttonText,
|
|
28
|
-
nextArrow,
|
|
29
25
|
nextLink,
|
|
30
|
-
shouldDisplayNotificationTriggerInSequence,
|
|
31
26
|
sequenceId,
|
|
32
27
|
unitId,
|
|
33
28
|
nextSequenceHandler,
|
|
34
|
-
handleNavigate
|
|
35
|
-
linkComponent
|
|
29
|
+
handleNavigate
|
|
36
30
|
});
|
|
37
31
|
};
|
|
38
32
|
DefaultUpgradeModal.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultUpgradeModal.js","names":["_react","_interopRequireDefault","require","_propTypes","
|
|
1
|
+
{"version":3,"file":"DefaultUpgradeModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_NextUnitButton","_jsxRuntime","obj","__esModule","default","DefaultUpgradeModal","_ref","disabled","buttonText","nextLink","sequenceId","unitId","handleNavigate","nextSequenceHandler","jsx","propTypes","PropTypes","bool","isRequired","string","nextArrow","func","shouldDisplayNotificationTriggerInSequence","linkComponent","node","_default","exports"],"sources":["../../src/upgrade-modal/DefaultUpgradeModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport NextUnitButton from './NextUnitButton';\n\nconst DefaultUpgradeModal = ({\n disabled,\n buttonText,\n nextLink,\n sequenceId,\n unitId,\n handleNavigate,\n nextSequenceHandler,\n}) => (\n <NextUnitButton\n {...{\n disabled,\n buttonText,\n nextLink,\n sequenceId,\n unitId,\n nextSequenceHandler,\n handleNavigate,\n }}\n />\n);\n\nDefaultUpgradeModal.propTypes = {\n disabled: PropTypes.bool.isRequired,\n buttonText: PropTypes.string.isRequired,\n nextArrow: PropTypes.func.isRequired,\n nextLink: PropTypes.string.isRequired,\n shouldDisplayNotificationTriggerInSequence: PropTypes.bool.isRequired,\n sequenceId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n handleNavigate: PropTypes.func.isRequired,\n linkComponent: PropTypes.node.isRequired,\n nextSequenceHandler: PropTypes.func.isRequired,\n};\n\nexport default DefaultUpgradeModal;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9C,MAAMG,mBAAmB,GAAGC,IAAA;EAAA,IAAC;IAC3BC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,MAAM;IACNC,cAAc;IACdC;EACF,CAAC,GAAAP,IAAA;EAAA,oBACC,IAAAL,WAAA,CAAAa,GAAA,EAACd,eAAA,CAAAI,OAAc;IAEXG,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,MAAM;IACNE,mBAAmB;IACnBD;EAAc,CAEjB,CAAC;AAAA,CACH;AAEDP,mBAAmB,CAACU,SAAS,GAAG;EAC9BR,QAAQ,EAAES,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnCV,UAAU,EAAEQ,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvCE,SAAS,EAAEJ,kBAAS,CAACK,IAAI,CAACH,UAAU;EACpCT,QAAQ,EAAEO,kBAAS,CAACG,MAAM,CAACD,UAAU;EACrCI,0CAA0C,EAAEN,kBAAS,CAACC,IAAI,CAACC,UAAU;EACrER,UAAU,EAAEM,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvCP,MAAM,EAAEK,kBAAS,CAACG,MAAM,CAACD,UAAU;EACnCN,cAAc,EAAEI,kBAAS,CAACK,IAAI,CAACH,UAAU;EACzCK,aAAa,EAAEP,kBAAS,CAACQ,IAAI,CAACN,UAAU;EACxCL,mBAAmB,EAAEG,kBAAS,CAACK,IAAI,CAACH;AACtC,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEaC,mBAAmB","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _modelStore = require("@src/generic/model-store");
|
|
10
10
|
var _UpgradeModal = _interopRequireDefault(require("./UpgradeModal"));
|
|
11
|
-
var
|
|
11
|
+
var _NextUnitButton = _interopRequireDefault(require("./NextUnitButton"));
|
|
12
12
|
var _hooks = require("./hooks");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -21,17 +21,14 @@ const ExperimentalUpgradeModal = _ref => {
|
|
|
21
21
|
courseId,
|
|
22
22
|
disabled,
|
|
23
23
|
buttonText,
|
|
24
|
-
nextArrow,
|
|
25
|
-
nextLink,
|
|
26
|
-
shouldDisplayNotificationTriggerInSequence,
|
|
27
24
|
sequenceId,
|
|
28
25
|
unitId,
|
|
29
26
|
nextSequenceHandler,
|
|
30
27
|
handleNavigate,
|
|
28
|
+
nextLink,
|
|
31
29
|
isOpen,
|
|
32
30
|
open,
|
|
33
|
-
close
|
|
34
|
-
linkComponent
|
|
31
|
+
close
|
|
35
32
|
} = _ref;
|
|
36
33
|
const {
|
|
37
34
|
verifiedMode,
|
|
@@ -57,17 +54,14 @@ const ExperimentalUpgradeModal = _ref => {
|
|
|
57
54
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
55
|
}, [sequenceId]);
|
|
59
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
60
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
57
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_NextUnitButton.default, {
|
|
61
58
|
disabled,
|
|
62
59
|
buttonText,
|
|
63
|
-
nextArrow,
|
|
64
|
-
nextLink,
|
|
65
|
-
shouldDisplayNotificationTriggerInSequence,
|
|
66
60
|
sequenceId,
|
|
67
61
|
unitId,
|
|
68
62
|
nextSequenceHandler,
|
|
69
63
|
handleNavigate,
|
|
70
|
-
|
|
64
|
+
nextLink
|
|
71
65
|
}), isOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpgradeModal.default, {
|
|
72
66
|
isOpen,
|
|
73
67
|
close,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperimentalUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_modelStore","_UpgradeModal","
|
|
1
|
+
{"version":3,"file":"ExperimentalUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_modelStore","_UpgradeModal","_NextUnitButton","_hooks","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ExperimentalUpgradeModal","_ref","courseId","disabled","buttonText","sequenceId","unitId","nextSequenceHandler","handleNavigate","nextLink","isOpen","open","close","verifiedMode","org","useModel","offer","marketingUrl","accessExpiration","isExperimentEnabled","useIsModalExperimentEnabled","shouldShowModalOnClick","countNextClick","useInCourseUpgradeModal","handleModal","useEffect","jsxs","Fragment","children","jsx","propTypes","PropTypes","bool","isRequired","string","nextArrow","func","shouldDisplayNotificationTriggerInSequence","linkComponent","node","_default","exports"],"sources":["../../src/upgrade-modal/ExperimentalUpgradeModal.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useModel } from '@src/generic/model-store';\nimport UpgradeModal from './UpgradeModal';\nimport NextUnitButton from './NextUnitButton';\nimport { useInCourseUpgradeModal, useIsModalExperimentEnabled } from './hooks';\n\nconst ExperimentalUpgradeModal = ({\n courseId,\n disabled,\n buttonText,\n sequenceId,\n unitId,\n nextSequenceHandler,\n handleNavigate,\n nextLink,\n isOpen,\n open,\n close,\n}) => {\n const {\n verifiedMode,\n org,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n offer,\n marketingUrl,\n accessExpiration,\n } = useModel('coursewareMeta', courseId);\n\n const isExperimentEnabled = useIsModalExperimentEnabled(courseId);\n const [shouldShowModalOnClick, countNextClick] = useInCourseUpgradeModal();\n\n const handleModal = () => {\n if (isExperimentEnabled) {\n countNextClick();\n if (shouldShowModalOnClick) {\n open();\n }\n }\n };\n\n useEffect(() => {\n handleModal();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sequenceId]);\n\n return (\n <>\n <NextUnitButton\n {...{\n disabled,\n buttonText,\n sequenceId,\n unitId,\n nextSequenceHandler,\n handleNavigate,\n nextLink,\n }}\n />\n\n {isOpen && (\n <UpgradeModal\n {...{\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n }}\n />\n )}\n </>\n );\n};\n\nExperimentalUpgradeModal.propTypes = {\n disabled: PropTypes.bool.isRequired,\n buttonText: PropTypes.string.isRequired,\n nextArrow: PropTypes.func.isRequired,\n nextLink: PropTypes.string.isRequired,\n shouldDisplayNotificationTriggerInSequence: PropTypes.bool.isRequired,\n sequenceId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n handleNavigate: PropTypes.func.isRequired,\n nextSequenceHandler: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n open: PropTypes.func.isRequired,\n linkComponent: PropTypes.node.isRequired,\n close: PropTypes.func.isRequired,\n courseId: PropTypes.string.isRequired,\n};\n\nexport default ExperimentalUpgradeModal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,25 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _paragon = require("@openedx/paragon");
|
|
10
9
|
var _modelStore = require("@src/generic/model-store");
|
|
10
|
+
var _NextButton = _interopRequireDefault(require("@src/courseware/course/sequence/sequence-navigation/generic/NextButton"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
/* eslint import/no-unresolved: 0 */
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const NextUnitButton = _ref => {
|
|
16
16
|
let {
|
|
17
17
|
disabled,
|
|
18
18
|
buttonText,
|
|
19
|
-
nextArrow,
|
|
20
|
-
nextLink,
|
|
21
|
-
shouldDisplayNotificationTriggerInSequence,
|
|
22
19
|
sequenceId,
|
|
23
20
|
unitId,
|
|
24
21
|
handleNavigate,
|
|
25
22
|
nextSequenceHandler,
|
|
26
|
-
|
|
27
|
-
linkComponent
|
|
23
|
+
nextLink
|
|
28
24
|
} = _ref;
|
|
29
25
|
const sequence = (0, _modelStore.useModel)('sequences', sequenceId);
|
|
30
26
|
const handleNext = () => {
|
|
@@ -33,36 +29,25 @@ const NextButton = _ref => {
|
|
|
33
29
|
handleNavigate(newUnitId);
|
|
34
30
|
if (nextIndex >= sequence.unitIds.length) {
|
|
35
31
|
nextSequenceHandler();
|
|
36
|
-
// handleModal();
|
|
37
32
|
}
|
|
38
33
|
};
|
|
39
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
40
|
-
variant: "link",
|
|
41
|
-
className: "next-btn",
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NextButton.default, {
|
|
42
35
|
onClick: handleNext,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
nextLink: nextLink,
|
|
37
|
+
variant: "link",
|
|
38
|
+
buttonStyle: "next-btn",
|
|
39
|
+
buttonLabel: buttonText,
|
|
40
|
+
disabled: disabled
|
|
48
41
|
});
|
|
49
42
|
};
|
|
50
|
-
|
|
51
|
-
// NextButton.defaultProps = {
|
|
52
|
-
// handleModal: () => null,
|
|
53
|
-
// };
|
|
54
|
-
NextButton.propTypes = {
|
|
43
|
+
NextUnitButton.propTypes = {
|
|
55
44
|
disabled: _propTypes.default.bool.isRequired,
|
|
56
45
|
buttonText: _propTypes.default.string.isRequired,
|
|
57
|
-
nextArrow: _propTypes.default.func.isRequired,
|
|
58
46
|
nextLink: _propTypes.default.string.isRequired,
|
|
59
|
-
shouldDisplayNotificationTriggerInSequence: _propTypes.default.bool.isRequired,
|
|
60
47
|
sequenceId: _propTypes.default.string.isRequired,
|
|
61
48
|
unitId: _propTypes.default.string.isRequired,
|
|
62
49
|
handleNavigate: _propTypes.default.func.isRequired,
|
|
63
|
-
nextSequenceHandler: _propTypes.default.func.isRequired
|
|
64
|
-
// handleModal: PropTypes.func,
|
|
65
|
-
linkComponent: _propTypes.default.node.isRequired
|
|
50
|
+
nextSequenceHandler: _propTypes.default.func.isRequired
|
|
66
51
|
};
|
|
67
|
-
var _default = exports.default =
|
|
68
|
-
//# sourceMappingURL=
|
|
52
|
+
var _default = exports.default = NextUnitButton;
|
|
53
|
+
//# sourceMappingURL=NextUnitButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextUnitButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_modelStore","_NextButton","_jsxRuntime","obj","__esModule","default","NextUnitButton","_ref","disabled","buttonText","sequenceId","unitId","handleNavigate","nextSequenceHandler","nextLink","sequence","useModel","handleNext","nextIndex","unitIds","indexOf","newUnitId","length","jsx","onClick","variant","buttonStyle","buttonLabel","propTypes","PropTypes","bool","isRequired","string","func","_default","exports"],"sources":["../../src/upgrade-modal/NextUnitButton.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useModel } from '@src/generic/model-store';\nimport NextButton from '@src/courseware/course/sequence/sequence-navigation/generic/NextButton';\n\nconst NextUnitButton = ({\n disabled,\n buttonText,\n sequenceId,\n unitId,\n handleNavigate,\n nextSequenceHandler,\n nextLink,\n}) => {\n const sequence = useModel('sequences', sequenceId);\n\n const handleNext = () => {\n const nextIndex = sequence.unitIds.indexOf(unitId) + 1;\n const newUnitId = sequence.unitIds[nextIndex];\n handleNavigate(newUnitId);\n\n if (nextIndex >= sequence.unitIds.length) {\n nextSequenceHandler();\n }\n };\n\n return (\n <NextButton\n onClick={handleNext}\n nextLink={nextLink}\n variant=\"link\"\n buttonStyle=\"next-btn\"\n buttonLabel={buttonText}\n disabled={disabled}\n />\n );\n};\n\nNextUnitButton.propTypes = {\n disabled: PropTypes.bool.isRequired,\n buttonText: PropTypes.string.isRequired,\n nextLink: PropTypes.string.isRequired,\n sequenceId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n handleNavigate: PropTypes.func.isRequired,\n nextSequenceHandler: PropTypes.func.isRequired,\n};\n\nexport default NextUnitButton;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAgG,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AALhG;;AAOA,MAAMG,cAAc,GAAGC,IAAA,IAQjB;EAAA,IARkB;IACtBC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC,cAAc;IACdC,mBAAmB;IACnBC;EACF,CAAC,GAAAP,IAAA;EACC,MAAMQ,QAAQ,GAAG,IAAAC,oBAAQ,EAAC,WAAW,EAAEN,UAAU,CAAC;EAElD,MAAMO,UAAU,GAAGA,CAAA,KAAM;IACvB,MAAMC,SAAS,GAAGH,QAAQ,CAACI,OAAO,CAACC,OAAO,CAACT,MAAM,CAAC,GAAG,CAAC;IACtD,MAAMU,SAAS,GAAGN,QAAQ,CAACI,OAAO,CAACD,SAAS,CAAC;IAC7CN,cAAc,CAACS,SAAS,CAAC;IAEzB,IAAIH,SAAS,IAAIH,QAAQ,CAACI,OAAO,CAACG,MAAM,EAAE;MACxCT,mBAAmB,CAAC,CAAC;IACvB;EACF,CAAC;EAED,oBACE,IAAAX,WAAA,CAAAqB,GAAA,EAACtB,WAAA,CAAAI,OAAU;IACTmB,OAAO,EAAEP,UAAW;IACpBH,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAC,MAAM;IACdC,WAAW,EAAC,UAAU;IACtBC,WAAW,EAAElB,UAAW;IACxBD,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAEDF,cAAc,CAACsB,SAAS,GAAG;EACzBpB,QAAQ,EAAEqB,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnCtB,UAAU,EAAEoB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvCjB,QAAQ,EAAEe,kBAAS,CAACG,MAAM,CAACD,UAAU;EACrCrB,UAAU,EAAEmB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvCpB,MAAM,EAAEkB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACnCnB,cAAc,EAAEiB,kBAAS,CAACI,IAAI,CAACF,UAAU;EACzClB,mBAAmB,EAAEgB,kBAAS,CAACI,IAAI,CAACF;AACtC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEaC,cAAc","ignoreList":[]}
|
|
@@ -3,8 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ExperimentalUpgradeModal", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _ExperimentalUpgradeModal.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
exports.default = void 0;
|
|
7
13
|
var _UpgradeModalWrapper = _interopRequireDefault(require("./UpgradeModalWrapper"));
|
|
14
|
+
var _ExperimentalUpgradeModal = _interopRequireDefault(require("./ExperimentalUpgradeModal"));
|
|
8
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
16
|
var _default = exports.default = _UpgradeModalWrapper.default;
|
|
10
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_UpgradeModalWrapper","_interopRequireDefault","require","obj","__esModule","default","_default","exports","UpgradeModalWrapper"],"sources":["../../src/upgrade-modal/index.js"],"sourcesContent":["import UpgradeModalWrapper from './UpgradeModalWrapper';\n\nexport default UpgradeModalWrapper;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_UpgradeModalWrapper","_interopRequireDefault","require","_ExperimentalUpgradeModal","obj","__esModule","default","_default","exports","UpgradeModalWrapper"],"sources":["../../src/upgrade-modal/index.js"],"sourcesContent":["import UpgradeModalWrapper from './UpgradeModalWrapper';\nimport ExperimentalUpgradeModal from './ExperimentalUpgradeModal';\n\nexport default UpgradeModalWrapper;\n\nexport { ExperimentalUpgradeModal };\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEnDG,4BAAmB","ignoreList":[]}
|
|
@@ -29,6 +29,7 @@ const DefaultUpgradeNotification = _ref => {
|
|
|
29
29
|
let {
|
|
30
30
|
id,
|
|
31
31
|
courseId,
|
|
32
|
+
model,
|
|
32
33
|
setNotificationCurrentState,
|
|
33
34
|
toggleSidebar
|
|
34
35
|
} = _ref;
|
|
@@ -44,12 +45,18 @@ const DefaultUpgradeNotification = _ref => {
|
|
|
44
45
|
const {
|
|
45
46
|
marketingUrl
|
|
46
47
|
} = (0, _modelStore.useModel)('coursewareMeta', courseId);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* model prop is use to select relevant model to get offer which is passed from the frontend-app-learning app.
|
|
51
|
+
* for OutlineTab component use outline model and
|
|
52
|
+
* for NotificationTray component use coursewareMeta model to show offer code.
|
|
53
|
+
*/
|
|
47
54
|
const {
|
|
48
55
|
accessExpiration,
|
|
49
56
|
datesBannerInfo,
|
|
50
57
|
offer,
|
|
51
58
|
timeOffsetMillis
|
|
52
|
-
} = (0, _modelStore.useModel)(
|
|
59
|
+
} = (0, _modelStore.useModel)(model, courseId);
|
|
53
60
|
const dateNow = Date.now();
|
|
54
61
|
const timezoneFormatArgs = userTimezone ? {
|
|
55
62
|
timeZone: userTimezone
|
|
@@ -234,12 +241,14 @@ const DefaultUpgradeNotification = _ref => {
|
|
|
234
241
|
DefaultUpgradeNotification.propTypes = {
|
|
235
242
|
id: _propTypes.default.string.isRequired,
|
|
236
243
|
courseId: _propTypes.default.string.isRequired,
|
|
244
|
+
model: _propTypes.default.string,
|
|
237
245
|
setNotificationCurrentState: _propTypes.default.func,
|
|
238
246
|
toggleSidebar: _propTypes.default.func
|
|
239
247
|
};
|
|
240
248
|
DefaultUpgradeNotification.defaultProps = {
|
|
241
249
|
setNotificationCurrentState: null,
|
|
242
|
-
toggleSidebar: null
|
|
250
|
+
toggleSidebar: null,
|
|
251
|
+
model: 'outline'
|
|
243
252
|
};
|
|
244
253
|
var _default = exports.default = DefaultUpgradeNotification;
|
|
245
254
|
//# sourceMappingURL=DefaultUpgradeNotification.js.map
|
|
@@ -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","setNotificationCurrentState","toggleSidebar","pluginLocationId","formatMessage","useIntl","org","userTimezone","verifiedMode","useModel","marketingUrl","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","expirationDate","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","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 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 const {\n accessExpiration,\n datesBannerInfo,\n offer,\n timeOffsetMillis,\n } = useModel('outline', 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.expirationDate) : 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 setNotificationCurrentState: PropTypes.func,\n toggleSidebar: PropTypes.func,\n};\n\nDefaultUpgradeNotification.defaultProps = {\n setNotificationCurrentState: null,\n toggleSidebar: null,\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","_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","expirationDate","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","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.expirationDate) : 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":[]}
|
|
@@ -62,6 +62,7 @@ const ExperimentalUpgradeNotification = _ref2 => {
|
|
|
62
62
|
let {
|
|
63
63
|
id,
|
|
64
64
|
courseId,
|
|
65
|
+
model,
|
|
65
66
|
setNotificationCurrentState,
|
|
66
67
|
toggleSidebar,
|
|
67
68
|
optimizely
|
|
@@ -88,7 +89,7 @@ const ExperimentalUpgradeNotification = _ref2 => {
|
|
|
88
89
|
datesBannerInfo,
|
|
89
90
|
offer,
|
|
90
91
|
timeOffsetMillis
|
|
91
|
-
} = (0, _modelStore.useModel)(
|
|
92
|
+
} = (0, _modelStore.useModel)(model, courseId);
|
|
92
93
|
const dateNow = Date.now();
|
|
93
94
|
const timezoneFormatArgs = userTimezone ? {
|
|
94
95
|
timeZone: userTimezone
|
|
@@ -289,6 +290,7 @@ const ExperimentalUpgradeNotification = _ref2 => {
|
|
|
289
290
|
ExperimentalUpgradeNotification.propTypes = {
|
|
290
291
|
id: _propTypes.default.string.isRequired,
|
|
291
292
|
courseId: _propTypes.default.string.isRequired,
|
|
293
|
+
model: _propTypes.default.string,
|
|
292
294
|
setNotificationCurrentState: _propTypes.default.func,
|
|
293
295
|
toggleSidebar: _propTypes.default.func,
|
|
294
296
|
/* eslint-disable-next-line react/forbid-prop-types */
|
|
@@ -296,7 +298,8 @@ ExperimentalUpgradeNotification.propTypes = {
|
|
|
296
298
|
};
|
|
297
299
|
ExperimentalUpgradeNotification.defaultProps = {
|
|
298
300
|
setNotificationCurrentState: null,
|
|
299
|
-
toggleSidebar: null
|
|
301
|
+
toggleSidebar: null,
|
|
302
|
+
model: 'outline'
|
|
300
303
|
};
|
|
301
304
|
var _default = exports.default = (0, _reactSdk.withOptimizely)(ExperimentalUpgradeNotification);
|
|
302
305
|
//# sourceMappingURL=ExperimentalUpgradeNotification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperimentalUpgradeNotification.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_i18n","_analytics","_paragon","_icons","_reactSdk","_upgradeButton","_modelStore","_data","_ExperimentalUpsellTable","_ExperimentalUpsellBullets","_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","getVariation","_ref","isFBE","variationKey","enabled","VARIATIONS","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","TABLE","jsx","BULLETS","UpsellFarAwayCardContent","ExperimentalUpgradeNotification","_ref2","id","courseId","setNotificationCurrentState","toggleSidebar","optimizely","pluginLocationId","KEY","experimentKey","ACTION","formatMessage","useIntl","org","userTimezone","verifiedMode","useModel","marketingUrl","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","expirationDate","pastExpirationDeadline","shouldDisplayBorder","includes","upsellPageName","setupgradeNotificationCurrentState","contentTypeGatingEnabled","decision","useDecision","experimentProperties","experiment_key","variation_key","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","track","logClickPastExpiration","upgradeNotificationHeaderText","expirationBanner","upsellMessage","callToActionButton","offerCode","hoursToAccessExpiration","Math","floor","hoursToDiscountExpiration","messages","firstTimeLearnerDiscountHeader","percentage","ExpirationCountdown","hoursToExpiration","type","accessExpirationHeader","AccessExpirationDateBanner","accessExpirationUrgentHeader","OFF","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":["/* 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 { OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT } from '../data';\nimport ExperimentalUpsellTable from '../upsell-bullets/ExperimentalUpsellTable';\nimport ExperimentalUpsellBullets from '../upsell-bullets/ExperimentalUpsellBullets';\nimport CertificatePreview from './certificate-preview';\nimport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationDateBanner,\n PastExpirationCardContent,\n UpsellFarAwayCardContent,\n UpsellFBESoonCardContent,\n} from './generic';\nimport messages from './messages';\n\nconst getVariation = ({ isFBE, variationKey, enabled }) => {\n const { VARIATIONS } = OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;\n\n if (enabled) {\n switch (variationKey) {\n case VARIATIONS.TABLE:\n return <ExperimentalUpsellTable {...{ isFBE }} />;\n case VARIATIONS.BULLETS:\n return <ExperimentalUpsellBullets {...{ isFBE }} />;\n default:\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n }\n }\n\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n};\n\nconst ExperimentalUpgradeNotification = ({\n id,\n courseId,\n setNotificationCurrentState,\n toggleSidebar,\n optimizely,\n}) => {\n const pluginLocationId = id;\n const { KEY: experimentKey, VARIATIONS, ACTION } = OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;\n const { formatMessage } = useIntl();\n\n const {\n org,\n userTimezone,\n verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n marketingUrl,\n } = useModel('coursewareMeta', courseId);\n\n const {\n accessExpiration,\n datesBannerInfo,\n offer,\n timeOffsetMillis,\n } = useModel('outline', 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.expirationDate) : 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 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 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 ...experimentProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n optimizely.track(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 upsellMessage = getVariation({ enabled, variationKey, isFBE });\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 (variationKey === VARIATIONS.OFF) {\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={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 <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 })}\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\">\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 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};\n\nexport default withOptimizely(ExperimentalUpgradeNotification);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ExperimentalUpgradeNotification.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_i18n","_analytics","_paragon","_icons","_reactSdk","_upgradeButton","_modelStore","_data","_ExperimentalUpsellTable","_ExperimentalUpsellBullets","_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","getVariation","_ref","isFBE","variationKey","enabled","VARIATIONS","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","TABLE","jsx","BULLETS","UpsellFarAwayCardContent","ExperimentalUpgradeNotification","_ref2","id","courseId","model","setNotificationCurrentState","toggleSidebar","optimizely","pluginLocationId","KEY","experimentKey","ACTION","formatMessage","useIntl","org","userTimezone","verifiedMode","useModel","marketingUrl","accessExpiration","datesBannerInfo","offer","timeOffsetMillis","dateNow","Date","now","timezoneFormatArgs","timeZone","correctedTime","accessExpirationDate","expirationDate","pastExpirationDeadline","shouldDisplayBorder","includes","upsellPageName","setupgradeNotificationCurrentState","contentTypeGatingEnabled","decision","useDecision","experimentProperties","experiment_key","variation_key","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","track","logClickPastExpiration","upgradeNotificationHeaderText","expirationBanner","upsellMessage","callToActionButton","offerCode","hoursToAccessExpiration","Math","floor","hoursToDiscountExpiration","messages","firstTimeLearnerDiscountHeader","percentage","ExpirationCountdown","hoursToExpiration","type","accessExpirationHeader","AccessExpirationDateBanner","accessExpirationUrgentHeader","OFF","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":["/* 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 { OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT } from '../data';\nimport ExperimentalUpsellTable from '../upsell-bullets/ExperimentalUpsellTable';\nimport ExperimentalUpsellBullets from '../upsell-bullets/ExperimentalUpsellBullets';\nimport CertificatePreview from './certificate-preview';\nimport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationDateBanner,\n PastExpirationCardContent,\n UpsellFarAwayCardContent,\n UpsellFBESoonCardContent,\n} from './generic';\nimport messages from './messages';\n\nconst getVariation = ({ isFBE, variationKey, enabled }) => {\n const { VARIATIONS } = OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;\n\n if (enabled) {\n switch (variationKey) {\n case VARIATIONS.TABLE:\n return <ExperimentalUpsellTable {...{ isFBE }} />;\n case VARIATIONS.BULLETS:\n return <ExperimentalUpsellBullets {...{ isFBE }} />;\n default:\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n }\n }\n\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n};\n\nconst ExperimentalUpgradeNotification = ({\n id,\n courseId,\n model,\n setNotificationCurrentState,\n toggleSidebar,\n optimizely,\n}) => {\n const pluginLocationId = id;\n const { KEY: experimentKey, VARIATIONS, ACTION } = OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;\n const { formatMessage } = useIntl();\n\n const {\n org,\n userTimezone,\n verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n marketingUrl,\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.expirationDate) : 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 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 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 ...experimentProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n optimizely.track(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 upsellMessage = getVariation({ enabled, variationKey, isFBE });\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 (variationKey === VARIATIONS.OFF) {\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={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 <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 })}\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\">\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":[]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NextButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_paragon","_modelStore","_jsxRuntime","obj","__esModule","default","NextButton","_ref","disabled","buttonText","nextArrow","nextLink","shouldDisplayNotificationTriggerInSequence","sequenceId","unitId","handleNavigate","nextSequenceHandler","linkComponent","sequence","useModel","handleNext","nextIndex","unitIds","indexOf","newUnitId","length","jsx","Button","variant","className","onClick","iconAfter","as","undefined","to","children","propTypes","PropTypes","bool","isRequired","string","func","node","_default","exports"],"sources":["../../src/upgrade-modal/NextButton.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from '@openedx/paragon';\n\nimport { useModel } from '@src/generic/model-store';\n\nconst NextButton = ({\n disabled,\n buttonText,\n nextArrow,\n nextLink,\n shouldDisplayNotificationTriggerInSequence,\n sequenceId,\n unitId,\n handleNavigate,\n nextSequenceHandler,\n // handleModal,\n linkComponent,\n}) => {\n const sequence = useModel('sequences', sequenceId);\n\n const handleNext = () => {\n const nextIndex = sequence.unitIds.indexOf(unitId) + 1;\n const newUnitId = sequence.unitIds[nextIndex];\n handleNavigate(newUnitId);\n\n if (nextIndex >= sequence.unitIds.length) {\n nextSequenceHandler();\n // handleModal();\n }\n };\n\n return (\n <Button\n variant=\"link\"\n className=\"next-btn\"\n onClick={handleNext}\n disabled={disabled}\n iconAfter={nextArrow}\n as={disabled ? undefined : linkComponent}\n to={disabled ? undefined : nextLink}\n >\n {shouldDisplayNotificationTriggerInSequence ? null : buttonText}\n </Button>\n );\n};\n\n// NextButton.defaultProps = {\n// handleModal: () => null,\n// };\nNextButton.propTypes = {\n disabled: PropTypes.bool.isRequired,\n buttonText: PropTypes.string.isRequired,\n nextArrow: PropTypes.func.isRequired,\n nextLink: PropTypes.string.isRequired,\n shouldDisplayNotificationTriggerInSequence: PropTypes.bool.isRequired,\n sequenceId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n handleNavigate: PropTypes.func.isRequired,\n nextSequenceHandler: PropTypes.func.isRequired,\n // handleModal: PropTypes.func,\n linkComponent: PropTypes.node.isRequired,\n};\n\nexport default NextButton;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AALpD;;AAOA,MAAMG,UAAU,GAAGC,IAAA,IAYb;EAAA,IAZc;IAClBC,QAAQ;IACRC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,0CAA0C;IAC1CC,UAAU;IACVC,MAAM;IACNC,cAAc;IACdC,mBAAmB;IACnB;IACAC;EACF,CAAC,GAAAV,IAAA;EACC,MAAMW,QAAQ,GAAG,IAAAC,oBAAQ,EAAC,WAAW,EAAEN,UAAU,CAAC;EAElD,MAAMO,UAAU,GAAGA,CAAA,KAAM;IACvB,MAAMC,SAAS,GAAGH,QAAQ,CAACI,OAAO,CAACC,OAAO,CAACT,MAAM,CAAC,GAAG,CAAC;IACtD,MAAMU,SAAS,GAAGN,QAAQ,CAACI,OAAO,CAACD,SAAS,CAAC;IAC7CN,cAAc,CAACS,SAAS,CAAC;IAEzB,IAAIH,SAAS,IAAIH,QAAQ,CAACI,OAAO,CAACG,MAAM,EAAE;MACxCT,mBAAmB,CAAC,CAAC;MACrB;IACF;EACF,CAAC;EAED,oBACE,IAAAd,WAAA,CAAAwB,GAAA,EAAC1B,QAAA,CAAA2B,MAAM;IACLC,OAAO,EAAC,MAAM;IACdC,SAAS,EAAC,UAAU;IACpBC,OAAO,EAAEV,UAAW;IACpBZ,QAAQ,EAAEA,QAAS;IACnBuB,SAAS,EAAErB,SAAU;IACrBsB,EAAE,EAAExB,QAAQ,GAAGyB,SAAS,GAAGhB,aAAc;IACzCiB,EAAE,EAAE1B,QAAQ,GAAGyB,SAAS,GAAGtB,QAAS;IAAAwB,QAAA,EAEnCvB,0CAA0C,GAAG,IAAI,GAAGH;EAAU,CACzD,CAAC;AAEb,CAAC;;AAED;AACA;AACA;AACAH,UAAU,CAAC8B,SAAS,GAAG;EACrB5B,QAAQ,EAAE6B,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnC9B,UAAU,EAAE4B,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvC7B,SAAS,EAAE2B,kBAAS,CAACI,IAAI,CAACF,UAAU;EACpC5B,QAAQ,EAAE0B,kBAAS,CAACG,MAAM,CAACD,UAAU;EACrC3B,0CAA0C,EAAEyB,kBAAS,CAACC,IAAI,CAACC,UAAU;EACrE1B,UAAU,EAAEwB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACvCzB,MAAM,EAAEuB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACnCxB,cAAc,EAAEsB,kBAAS,CAACI,IAAI,CAACF,UAAU;EACzCvB,mBAAmB,EAAEqB,kBAAS,CAACI,IAAI,CAACF,UAAU;EAC9C;EACAtB,aAAa,EAAEoB,kBAAS,CAACK,IAAI,CAACH;AAChC,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAvC,OAAA,GAEaC,UAAU","ignoreList":[]}
|