@edx/frontend-plugin-advertisements 1.13.1 → 1.14.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.map +1 -1
- package/dist/mocks/optimizely/index.js +6 -2
- package/dist/mocks/optimizely/index.js.map +1 -1
- package/dist/optimizely/Optimizely.js +5 -1
- package/dist/optimizely/Optimizely.js.map +1 -1
- package/dist/paywall/ExperimentalLockPaywall.js +7 -3
- package/dist/paywall/ExperimentalLockPaywall.js.map +1 -1
- package/dist/upgrade-notification/partner-branding/PartnerBranding.js +0 -1
- package/dist/upgrade-notification/partner-branding/PartnerBranding.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ensureConfig","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","createInstance","sdkKey","exports","OPTIMIZELY_VTR_EXPERIMENT_KEY","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","CERTIFICATE_PREVIEW","PARTNER_BRANDING","CONTROL","OFF","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","DECLINE_UPGRADE_BUTTON_CLICK"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\
|
|
1
|
+
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ensureConfig","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","createInstance","sdkKey","exports","OPTIMIZELY_VTR_EXPERIMENT_KEY","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","CERTIFICATE_PREVIEW","PARTNER_BRANDING","CONTROL","OFF","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\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\n if (OPTIMIZELY_SDK_KEY) {\n return createInstance({\n sdkKey: OPTIMIZELY_SDK_KEY,\n });\n }\n\n return null;\n};\n\nconst OPTIMIZELY_VTR_EXPERIMENT_KEY = 'verified_take_rate_experimentation';\n\nconst OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS = {\n WHY_NOT_SURVEY: 'why_not_survey',\n CERTIFICATE_PREVIEW: 'certificate_preview',\n PARTNER_BRANDING: 'partner_branding',\n CONTROL: 'control',\n OFF: 'off',\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_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAAE,8BAAY,EAAC,CACX,+BAA+B,CAChC,EAAE,kDAAkD,CAAC;;AAEtD;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,MAAMC,kBAAkB,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,6BAA6B;EAEpE,IAAIF,kBAAkB,EAAE;IACtB,OAAO,IAAAG,wBAAc,EAAC;MACpBC,MAAM,EAAEJ;IACV,CAAC,CAAC;EACJ;EAEA,OAAO,IAAI;AACb,CAAC;AAACK,OAAA,CAAAN,aAAA,GAAAA,aAAA;AAEF,MAAMO,6BAA6B,GAAAD,OAAA,CAAAC,6BAAA,GAAG,oCAAoC;AAE1E,MAAMC,wCAAwC,GAAAF,OAAA,CAAAE,wCAAA,GAAG;EAC/CC,cAAc,EAAE,gBAAgB;EAChCC,mBAAmB,EAAE,qBAAqB;EAC1CC,gBAAgB,EAAE,kBAAkB;EACpCC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,qBAAqB,GAAAR,OAAA,CAAAQ,qBAAA,GAAG;EAC5BC,oBAAoB,EAAE,sBAAsB;EAC5CC,4BAA4B,EAAE;AAChC,CAAC","ignoreList":[]}
|
|
@@ -13,9 +13,13 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
13
13
|
/* eslint-disable no-unused-vars */
|
|
14
14
|
/* eslint-disable react/prop-types */
|
|
15
15
|
|
|
16
|
-
const useDecision = experimentKey =>
|
|
16
|
+
const useDecision = experimentKey =>
|
|
17
|
+
// To mock optimizely for local smoke testing, set the value of "enabled" to "true" and
|
|
18
|
+
// replace "replace_me" with the desired value from OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS
|
|
19
|
+
// which can be found in src/data/optimizely.js
|
|
20
|
+
[{
|
|
17
21
|
enabled: false,
|
|
18
|
-
variationKey: '
|
|
22
|
+
variationKey: 'replace_me'
|
|
19
23
|
}];
|
|
20
24
|
exports.useDecision = useDecision;
|
|
21
25
|
const OptimizelyProvider = _ref => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useDecision","experimentKey","enabled","variationKey","exports","OptimizelyProvider","_ref","optimizely","user","children","createInstance","args","withOptimizely","Component","HOC","props","newProps","_objectSpread","track","_jsxRuntime","jsx"],"sources":["../../../src/mocks/optimizely/index.jsx"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable react/prop-types */\n\nconst useDecision = (experimentKey) => (\n [{ enabled: false, variationKey: '
|
|
1
|
+
{"version":3,"file":"index.js","names":["useDecision","experimentKey","enabled","variationKey","exports","OptimizelyProvider","_ref","optimizely","user","children","createInstance","args","withOptimizely","Component","HOC","props","newProps","_objectSpread","track","_jsxRuntime","jsx"],"sources":["../../../src/mocks/optimizely/index.jsx"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable react/prop-types */\n\nconst useDecision = (experimentKey) => (\n // To mock optimizely for local smoke testing, set the value of \"enabled\" to \"true\" and\n // replace \"replace_me\" with the desired value from OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS\n // which can be found in src/data/optimizely.js\n [{ enabled: false, variationKey: 'replace_me' }]\n);\n\nconst OptimizelyProvider = ({ optimizely, user, children = null }) => children;\n\nconst createInstance = (args) => ({});\n\nconst withOptimizely = (Component) => {\n const HOC = (props) => {\n const newProps = {\n ...props, optimizely: { track: () => {} },\n };\n return (<Component {...newProps} />);\n };\n return HOC;\n};\n\nexport {\n createInstance,\n useDecision,\n withOptimizely,\n OptimizelyProvider,\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;;AAEA,MAAMA,WAAW,GAAIC,aAAa;AAChC;AACA;AACA;AACA,CAAC;EAAEC,OAAO,EAAE,KAAK;EAAEC,YAAY,EAAE;AAAa,CAAC,CAChD;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAEF,MAAMK,kBAAkB,GAAGC,IAAA;EAAA,IAAC;IAAEC,UAAU;IAAEC,IAAI;IAAEC,QAAQ,GAAG;EAAK,CAAC,GAAAH,IAAA;EAAA,OAAKG,QAAQ;AAAA;AAACL,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAE/E,MAAMK,cAAc,GAAIC,IAAI,KAAM,CAAC,CAAC,CAAC;AAACP,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEtC,MAAME,cAAc,GAAIC,SAAS,IAAK;EACpC,MAAMC,GAAG,GAAIC,KAAK,IAAK;IACrB,MAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KACTF,KAAK;MAAER,UAAU,EAAE;QAAEW,KAAK,EAAEA,CAAA,KAAM,CAAC;MAAE;IAAC,EAC1C;IACD,oBAAQ,IAAAC,WAAA,CAAAC,GAAA,EAACP,SAAS,EAAAI,aAAA,KAAKD,QAAQ,CAAG,CAAC;EACrC,CAAC;EACD,OAAOF,GAAG;AACZ,CAAC;AAACV,OAAA,CAAAQ,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
8
|
var _auth = require("@edx/frontend-platform/auth");
|
|
9
9
|
var _reactSdk = require("@optimizely/react-sdk");
|
|
10
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
10
11
|
var _optimizely = require("../data/optimizely");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
const _excluded = ["defaultComponent", "experimentalComponent", "defaultVariationKey", "experimentKey"];
|
|
@@ -61,7 +62,10 @@ const OptimizelyExperiment = props => {
|
|
|
61
62
|
(0, _jsxRuntime.jsx)(_reactSdk.OptimizelyProvider, {
|
|
62
63
|
optimizely: optimizely,
|
|
63
64
|
user: {
|
|
64
|
-
id: userId.toString()
|
|
65
|
+
id: userId.toString(),
|
|
66
|
+
attributes: {
|
|
67
|
+
lms_language_preference: (0, _i18n.getLocale)()
|
|
68
|
+
}
|
|
65
69
|
},
|
|
66
70
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OptimizelyExperimentController, _objectSpread({}, props))
|
|
67
71
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultComponent, _objectSpread({}, props));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Optimizely.js","names":["_propTypes","_interopRequireDefault","require","_auth","_reactSdk","_optimizely","_jsxRuntime","_excluded","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","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","OptimizelyExperimentController","_ref","defaultComponent","DefaultComponent","experimentalComponent","ExperimentalComponent","defaultVariationKey","experimentKey","props","decision","useDecision","enabled","variationKey","showDefault","jsx","children","propTypes","PropTypes","elementType","isRequired","string","defaultProps","OptimizelyExperiment","userId","getAuthenticatedUser","optimizely","getOptimizely","OptimizelyProvider","user","id","toString","_default","exports"],"sources":["../../src/optimizely/Optimizely.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { OptimizelyProvider, useDecision } from '@optimizely/react-sdk';\n\nimport { getOptimizely } from '../data/optimizely';\n\nconst OptimizelyExperimentController = (\n // Use defaultVariationKey if your experiment is set to target less than 100% of traffic\n // and you have a variation for users not included in the experiment.\n {\n defaultComponent: DefaultComponent,\n experimentalComponent: ExperimentalComponent,\n defaultVariationKey,\n experimentKey,\n ...props\n },\n) => {\n const [decision] = useDecision(experimentKey);\n const { enabled, variationKey } = decision;\n\n const showDefault = !enabled || (defaultVariationKey && defaultVariationKey === variationKey);\n\n return (\n <div>\n {showDefault ? <DefaultComponent {...props} /> : <ExperimentalComponent {...props} />}\n </div>\n );\n};\n\nOptimizelyExperimentController.propTypes = {\n defaultComponent: PropTypes.elementType.isRequired,\n experimentalComponent: PropTypes.elementType.isRequired,\n defaultVariationKey: PropTypes.string,\n experimentKey: PropTypes.string.isRequired,\n};\n\nOptimizelyExperimentController.defaultProps = {\n defaultVariationKey: null,\n};\n\nconst OptimizelyExperiment = (props) => {\n const { userId } = getAuthenticatedUser();\n const { defaultComponent: DefaultComponent } = props;\n\n const optimizely = getOptimizely();\n\n return (\n optimizely\n ? (\n // The Optimizely SDK requires the user ID to be a string.\n <OptimizelyProvider
|
|
1
|
+
{"version":3,"file":"Optimizely.js","names":["_propTypes","_interopRequireDefault","require","_auth","_reactSdk","_i18n","_optimizely","_jsxRuntime","_excluded","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","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","OptimizelyExperimentController","_ref","defaultComponent","DefaultComponent","experimentalComponent","ExperimentalComponent","defaultVariationKey","experimentKey","props","decision","useDecision","enabled","variationKey","showDefault","jsx","children","propTypes","PropTypes","elementType","isRequired","string","defaultProps","OptimizelyExperiment","userId","getAuthenticatedUser","optimizely","getOptimizely","OptimizelyProvider","user","id","toString","attributes","lms_language_preference","getLocale","_default","exports"],"sources":["../../src/optimizely/Optimizely.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { OptimizelyProvider, useDecision } from '@optimizely/react-sdk';\n\nimport { getLocale } from '@edx/frontend-platform/i18n';\nimport { getOptimizely } from '../data/optimizely';\n\nconst OptimizelyExperimentController = (\n // Use defaultVariationKey if your experiment is set to target less than 100% of traffic\n // and you have a variation for users not included in the experiment.\n {\n defaultComponent: DefaultComponent,\n experimentalComponent: ExperimentalComponent,\n defaultVariationKey,\n experimentKey,\n ...props\n },\n) => {\n const [decision] = useDecision(experimentKey);\n const { enabled, variationKey } = decision;\n\n const showDefault = !enabled || (defaultVariationKey && defaultVariationKey === variationKey);\n\n return (\n <div>\n {showDefault ? <DefaultComponent {...props} /> : <ExperimentalComponent {...props} />}\n </div>\n );\n};\n\nOptimizelyExperimentController.propTypes = {\n defaultComponent: PropTypes.elementType.isRequired,\n experimentalComponent: PropTypes.elementType.isRequired,\n defaultVariationKey: PropTypes.string,\n experimentKey: PropTypes.string.isRequired,\n};\n\nOptimizelyExperimentController.defaultProps = {\n defaultVariationKey: null,\n};\n\nconst OptimizelyExperiment = (props) => {\n const { userId } = getAuthenticatedUser();\n const { defaultComponent: DefaultComponent } = props;\n\n const optimizely = getOptimizely();\n\n return (\n optimizely\n ? (\n // The Optimizely SDK requires the user ID to be a string.\n <OptimizelyProvider\n optimizely={optimizely}\n user={{\n id: userId.toString(),\n attributes: { lms_language_preference: getLocale() },\n }}\n >\n <OptimizelyExperimentController {...props} />\n </OptimizelyProvider>\n )\n : (<DefaultComponent {...props} />)\n );\n};\n\nOptimizelyExperiment.propTypes = {\n defaultComponent: PropTypes.elementType.isRequired,\n};\n\nexport default OptimizelyExperiment;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
-
var _analytics = require("@edx/frontend-platform/analytics");
|
|
11
10
|
var _i18n = require("@edx/frontend-platform/i18n");
|
|
12
11
|
var _paragon = require("@openedx/paragon");
|
|
13
12
|
var _icons = require("@openedx/paragon/icons");
|
|
@@ -16,6 +15,8 @@ var _edX_locked_certificate = _interopRequireDefault(require("@src/generic/asset
|
|
|
16
15
|
var _modelStore = require("@src/generic/model-store");
|
|
17
16
|
var _upgradeButton = require("@src/generic/upgrade-button");
|
|
18
17
|
var _UpsellBullets = require("@src/generic/upsell-bullets/UpsellBullets");
|
|
18
|
+
var _auth = require("@edx/frontend-platform/auth");
|
|
19
|
+
var _analytics = require("@edx/frontend-platform/analytics");
|
|
19
20
|
var _reactSdk = require("@optimizely/react-sdk");
|
|
20
21
|
var _data = require("../data");
|
|
21
22
|
var _utils = _interopRequireDefault(require("./utils"));
|
|
@@ -62,6 +63,9 @@ const ExperimentalLockPaywall = _ref => {
|
|
|
62
63
|
experiment_key: _data.OPTIMIZELY_VTR_EXPERIMENT_KEY,
|
|
63
64
|
variation_key: variationKey
|
|
64
65
|
};
|
|
66
|
+
const {
|
|
67
|
+
userId
|
|
68
|
+
} = (0, _auth.getAuthenticatedUser)();
|
|
65
69
|
const logClick = () => {
|
|
66
70
|
(0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
|
|
67
71
|
linkCategory: '(none)',
|
|
@@ -99,7 +103,7 @@ const ExperimentalLockPaywall = _ref => {
|
|
|
99
103
|
"data-testId": "lock-paywall-past-expiration",
|
|
100
104
|
children: [intl.formatMessage(_messages.default['learn.lockPaywall.content.pastExpiration']), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
|
|
101
105
|
destination: marketingUrl,
|
|
102
|
-
onClick: logClickPastExpiration,
|
|
106
|
+
onClick: logClickPastExpiration(eventProperties),
|
|
103
107
|
target: "_blank",
|
|
104
108
|
"data-testId": "lock-paywall-past-expiration-link",
|
|
105
109
|
children: intl.formatMessage(_messages.default['learn.lockPaywall.courseDetails'])
|
|
@@ -143,7 +147,7 @@ const ExperimentalLockPaywall = _ref => {
|
|
|
143
147
|
}),
|
|
144
148
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_upgradeButton.UpgradeButton, {
|
|
145
149
|
offer: offer,
|
|
146
|
-
onClick: logClick(),
|
|
150
|
+
onClick: logClick(eventProperties, userId),
|
|
147
151
|
verifiedMode: verifiedMode,
|
|
148
152
|
style: {
|
|
149
153
|
whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_analytics","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_UpsellBullets","_reactSdk","_data","_utils","_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","ExperimentalLockPaywall","_ref","intl","courseId","optimizely","course","useModel","accessExpiration","marketingUrl","offer","org","verifiedMode","decision","useDecision","OPTIMIZELY_VTR_EXPERIMENT_KEY","variationKey","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","eventProperties","org_key","courserun_key","experiment_key","variation_key","logClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","track","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","logClickPastExpiration","jsx","Alert","variant","icon","Locked","className","children","jsxs","formatMessage","messages","Hyperlink","destination","onClick","target","classNames","style","float","alt","src","certificateLocked","height","VerifiedCertBullet","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","UpgradeButton","whiteSpace","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","DECLINE_UPGRADE_BUTTON_CLICK","showSurvey","propTypes","intlShape","isRequired","PropTypes","string","node","_default","exports","injectIntl","withOptimizely"],"sources":["../../src/paywall/ExperimentalLockPaywall.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Alert, breakpoints, Hyperlink, useWindowSize,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\nimport messages from '@src/courseware/course/sequence/lock-paywall/messages';\nimport certificateLocked from '@src/generic/assets/edX_locked_certificate.png';\nimport { useModel } from '@src/generic/model-store';\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '@src/generic/upsell-bullets/UpsellBullets';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\nimport {\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n} from '../data';\nimport showSurvey from './utils';\n\nconst ExperimentalLockPaywall = ({\n intl,\n courseId,\n optimizely,\n}) => {\n const course = useModel('coursewareMeta', courseId);\n const {\n accessExpiration,\n marketingUrl,\n offer,\n } = course;\n\n const {\n org, verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const [decision] = useDecision(OPTIMIZELY_VTR_EXPERIMENT_KEY);\n const { variationKey } = decision;\n\n // the following variables are set and used for resposive layout to work with\n // whether the NotificationTray is open or not and if there's an offer with longer text\n const shouldDisplayGatedContentTwoColumnsHalf = useWindowSize().width <= breakpoints.large.minWidth;\n const shouldWrapTextOnButton = useWindowSize().width > breakpoints.extraSmall.minWidth;\n\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;\n\n if (!verifiedMode) {\n return null;\n }\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n experiment_key: OPTIMIZELY_VTR_EXPERIMENT_KEY,\n variation_key: variationKey,\n };\n\n const logClick = () => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: '(none)',\n linkName: 'in_course_upgrade_experimental',\n linkType: 'link',\n pageName: 'in_course',\n });\n optimizely.track(OPTIMIZELY_EVENT_KEYS.UPGRADE_BUTTON_CLICK);\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', {\n ...eventProperties,\n linkCategory: 'gated_content',\n linkName: 'course_details_experimental',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n return (\n <Alert variant=\"light\" aria-live=\"off\" icon={Locked} className=\"lock-paywall-container\" data-testId=\"lock-paywall-lock-paywall-test-id\">\n <div className=\"row\">\n <div className=\"col\">\n <h4 aria-level=\"3\">\n <span>{intl.formatMessage(messages['learn.lockPaywall.title'])}</span>\n </h4>\n {pastExpirationDeadline ? (\n <div className=\"mb-2 upgrade-intro\" data-testId=\"lock-paywall-past-expiration\">\n {intl.formatMessage(messages['learn.lockPaywall.content.pastExpiration'])}\n <Hyperlink destination={marketingUrl} onClick={logClickPastExpiration} target=\"_blank\" data-testId=\"lock-paywall-past-expiration-link\">{intl.formatMessage(messages['learn.lockPaywall.courseDetails'])}</Hyperlink>\n </div>\n ) : (\n <div className=\"mb-2 upgrade-intro\">\n {intl.formatMessage(messages['learn.lockPaywall.content'])}\n </div>\n )}\n\n <div className={classNames('d-inline-flex flex-row', { 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf })}>\n <div style={{ float: 'left' }} className=\"mr-3 mb-2\">\n <img\n alt={intl.formatMessage(messages['learn.lockPaywall.example.alt'])}\n src={certificateLocked}\n className=\"border-0 certificate-image-banner\"\n style={{ height: '128px', width: '175px' }}\n />\n </div>\n\n <div className=\"mw-xs list-div\">\n <div className=\"mb-2\">\n {intl.formatMessage(messages['learn.lockPaywall.list.intro'])}\n </div>\n <ul className=\"fa-ul ml-4 pl-2\">\n <VerifiedCertBullet />\n <UnlockGradedBullet />\n <FullAccessBullet />\n <SupportMissionBullet />\n </ul>\n </div>\n </div>\n </div>\n\n {pastExpirationDeadline\n ? null\n : (\n <div\n className={\n classNames('d-flex flex-column align-items-md-center text-right justify-content-center', {\n 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf, 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf,\n })\n }\n >\n <UpgradeButton\n offer={offer}\n onClick={logClick()}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testId=\"upgrade-button\"\n />\n {variationKey === OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.WHY_NOT_SURVEY\n ? (\n <Hyperlink\n variant=\"outline-primary\"\n className=\"mt-3\"\n onClick={() => {\n optimizely.track(OPTIMIZELY_EVENT_KEYS.DECLINE_UPGRADE_BUTTON_CLICK);\n showSurvey();\n }}\n data-testId=\"lock-paywall-upgrade-decline-button\"\n >\n Take our 1-question survey\n </Hyperlink>\n )\n : null}\n </div>\n )}\n </div>\n </Alert>\n );\n};\nExperimentalLockPaywall.propTypes = {\n intl: intlShape.isRequired,\n courseId: PropTypes.string.isRequired,\n optimizely: PropTypes.node.isRequired,\n};\n\nexport default injectIntl(withOptimizely(ExperimentalLockPaywall));\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_UpsellBullets","_auth","_analytics","_reactSdk","_data","_utils","_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","ExperimentalLockPaywall","_ref","intl","courseId","optimizely","course","useModel","accessExpiration","marketingUrl","offer","org","verifiedMode","decision","useDecision","OPTIMIZELY_VTR_EXPERIMENT_KEY","variationKey","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","eventProperties","org_key","courserun_key","experiment_key","variation_key","userId","getAuthenticatedUser","logClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","track","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","logClickPastExpiration","jsx","Alert","variant","icon","Locked","className","children","jsxs","formatMessage","messages","Hyperlink","destination","onClick","target","classNames","style","float","alt","src","certificateLocked","height","VerifiedCertBullet","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","UpgradeButton","whiteSpace","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","DECLINE_UPGRADE_BUTTON_CLICK","showSurvey","propTypes","intlShape","isRequired","PropTypes","string","node","_default","exports","injectIntl","withOptimizely"],"sources":["../../src/paywall/ExperimentalLockPaywall.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Alert, breakpoints, Hyperlink, useWindowSize,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\nimport messages from '@src/courseware/course/sequence/lock-paywall/messages';\nimport certificateLocked from '@src/generic/assets/edX_locked_certificate.png';\nimport { useModel } from '@src/generic/model-store';\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '@src/generic/upsell-bullets/UpsellBullets';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\nimport {\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n} from '../data';\nimport showSurvey from './utils';\n\nconst ExperimentalLockPaywall = ({\n intl,\n courseId,\n optimizely,\n}) => {\n const course = useModel('coursewareMeta', courseId);\n const {\n accessExpiration,\n marketingUrl,\n offer,\n } = course;\n\n const {\n org, verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const [decision] = useDecision(OPTIMIZELY_VTR_EXPERIMENT_KEY);\n const { variationKey } = decision;\n\n // the following variables are set and used for resposive layout to work with\n // whether the NotificationTray is open or not and if there's an offer with longer text\n const shouldDisplayGatedContentTwoColumnsHalf = useWindowSize().width <= breakpoints.large.minWidth;\n const shouldWrapTextOnButton = useWindowSize().width > breakpoints.extraSmall.minWidth;\n\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;\n\n if (!verifiedMode) {\n return null;\n }\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n experiment_key: OPTIMIZELY_VTR_EXPERIMENT_KEY,\n variation_key: variationKey,\n };\n\n const { userId } = getAuthenticatedUser();\n\n const logClick = () => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: '(none)',\n linkName: 'in_course_upgrade_experimental',\n linkType: 'link',\n pageName: 'in_course',\n });\n optimizely.track(OPTIMIZELY_EVENT_KEYS.UPGRADE_BUTTON_CLICK);\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', {\n ...eventProperties,\n linkCategory: 'gated_content',\n linkName: 'course_details_experimental',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n return (\n <Alert variant=\"light\" aria-live=\"off\" icon={Locked} className=\"lock-paywall-container\" data-testId=\"lock-paywall-lock-paywall-test-id\">\n <div className=\"row\">\n <div className=\"col\">\n <h4 aria-level=\"3\">\n <span>{intl.formatMessage(messages['learn.lockPaywall.title'])}</span>\n </h4>\n {pastExpirationDeadline ? (\n <div className=\"mb-2 upgrade-intro\" data-testId=\"lock-paywall-past-expiration\">\n {intl.formatMessage(messages['learn.lockPaywall.content.pastExpiration'])}\n <Hyperlink destination={marketingUrl} onClick={logClickPastExpiration(eventProperties)} target=\"_blank\" data-testId=\"lock-paywall-past-expiration-link\">{intl.formatMessage(messages['learn.lockPaywall.courseDetails'])}</Hyperlink>\n </div>\n ) : (\n <div className=\"mb-2 upgrade-intro\">\n {intl.formatMessage(messages['learn.lockPaywall.content'])}\n </div>\n )}\n\n <div className={classNames('d-inline-flex flex-row', { 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf })}>\n <div style={{ float: 'left' }} className=\"mr-3 mb-2\">\n <img\n alt={intl.formatMessage(messages['learn.lockPaywall.example.alt'])}\n src={certificateLocked}\n className=\"border-0 certificate-image-banner\"\n style={{ height: '128px', width: '175px' }}\n />\n </div>\n\n <div className=\"mw-xs list-div\">\n <div className=\"mb-2\">\n {intl.formatMessage(messages['learn.lockPaywall.list.intro'])}\n </div>\n <ul className=\"fa-ul ml-4 pl-2\">\n <VerifiedCertBullet />\n <UnlockGradedBullet />\n <FullAccessBullet />\n <SupportMissionBullet />\n </ul>\n </div>\n </div>\n </div>\n\n {pastExpirationDeadline\n ? null\n : (\n <div\n className={\n classNames('d-flex flex-column align-items-md-center text-right justify-content-center', {\n 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf, 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf,\n })\n }\n >\n <UpgradeButton\n offer={offer}\n onClick={logClick(eventProperties, userId)}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testId=\"upgrade-button\"\n />\n {variationKey === OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.WHY_NOT_SURVEY\n ? (\n <Hyperlink\n variant=\"outline-primary\"\n className=\"mt-3\"\n onClick={() => {\n optimizely.track(OPTIMIZELY_EVENT_KEYS.DECLINE_UPGRADE_BUTTON_CLICK);\n showSurvey();\n }}\n data-testId=\"lock-paywall-upgrade-decline-button\"\n >\n Take our 1-question survey\n </Hyperlink>\n )\n : null}\n </div>\n )}\n </div>\n </Alert>\n );\n};\nExperimentalLockPaywall.propTypes = {\n intl: intlShape.isRequired,\n courseId: PropTypes.string.isRequired,\n optimizely: PropTypes.node.isRequired,\n};\n\nexport default injectIntl(withOptimizely(ExperimentalLockPaywall));\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PartnerBranding.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_paragon","_discovery_api","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PartnerBranding","_ref","courseRunId","imageURL","setImageURL","useState","orgName","setOrgName","loading","setLoading","useEffect","fetchData","orgData","fetchOrg","logo_image_url","name","jsx","children","Skeleton","width","height","style","marginTop","marginLeft","src","alt","
|
|
1
|
+
{"version":3,"file":"PartnerBranding.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_paragon","_discovery_api","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PartnerBranding","_ref","courseRunId","imageURL","setImageURL","useState","orgName","setOrgName","loading","setLoading","useEffect","fetchData","orgData","fetchOrg","logo_image_url","name","jsx","children","Skeleton","width","height","style","marginTop","marginLeft","src","alt","padding","propTypes","PropTypes","string","isRequired","_default","exports"],"sources":["../../../src/upgrade-notification/partner-branding/PartnerBranding.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Skeleton } from '@openedx/paragon';\n\nimport { fetchOrg } from '../../data/discovery_api';\n\nconst PartnerBranding = ({ courseRunId }) => {\n const [imageURL, setImageURL] = useState('');\n const [orgName, setOrgName] = useState('');\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n async function fetchData() {\n const orgData = await fetchOrg(courseRunId);\n setImageURL(orgData?.logo_image_url);\n setOrgName(orgData?.name);\n setLoading(false);\n }\n fetchData();\n setLoading(true);\n }, [courseRunId]);\n\n if (loading) {\n return (\n <div data-testid=\"img-skeleton\">\n <Skeleton\n width={200}\n height={100}\n style={{\n marginTop: '20px',\n marginLeft: '20px',\n }}\n />\n </div>\n );\n }\n if (imageURL) {\n return (\n <img\n src={imageURL}\n alt={`${orgName} logo`}\n style={{\n width: '40%',\n marginTop: '20px',\n marginLeft: '20px',\n padding: '5px',\n }}\n />\n );\n }\n return null; // no image available\n};\n\nPartnerBranding.propTypes = {\n courseRunId: PropTypes.string.isRequired,\n};\n\nexport default PartnerBranding;\n"],"mappings":"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","ignoreList":[]}
|