@edx/frontend-plugin-advertisements 2.12.0 → 2.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/dynamic-experience-slot/DynamicExperienceSlot.js +87 -0
- package/dist/dynamic-experience-slot/DynamicExperienceSlot.js.map +1 -0
- package/dist/dynamic-experience-slot/index.js +10 -0
- package/dist/dynamic-experience-slot/index.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/ucl-wrapper/UclWrapper.js +42 -0
- package/dist/ucl-wrapper/UclWrapper.js.map +1 -0
- package/dist/ucl-wrapper/index.js +10 -0
- package/dist/ucl-wrapper/index.js.map +1 -0
- package/dist/upgrade-to-complete-alert/UpgradeToCompleteAlert.js +69 -0
- package/dist/upgrade-to-complete-alert/UpgradeToCompleteAlert.js.map +1 -0
- package/dist/upgrade-to-complete-alert/index.js +10 -0
- package/dist/upgrade-to-complete-alert/index.js.map +1 -0
- package/dist/upgrade-to-complete-alert/messages.js +26 -0
- package/dist/upgrade-to-complete-alert/messages.js.map +1 -0
- package/dist/upgrade-to-complete-alert/track.js +25 -0
- package/dist/upgrade-to-complete-alert/track.js.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
const _excluded = ["widgetName"];
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
18
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
19
|
+
function useUCL() {
|
|
20
|
+
let timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5000;
|
|
21
|
+
const [ucl, setUcl] = (0, _react.useState)(() => window.UCL);
|
|
22
|
+
(0, _react.useEffect)(() => {
|
|
23
|
+
if (ucl) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const start = Date.now();
|
|
27
|
+
const id = setInterval(() => {
|
|
28
|
+
if (window.UCL) {
|
|
29
|
+
setUcl(window.UCL);
|
|
30
|
+
clearInterval(id);
|
|
31
|
+
} else if (Date.now() - start > timeout) {
|
|
32
|
+
clearInterval(id);
|
|
33
|
+
}
|
|
34
|
+
}, 100);
|
|
35
|
+
return () => clearInterval(id);
|
|
36
|
+
}, [ucl, timeout]);
|
|
37
|
+
return ucl;
|
|
38
|
+
}
|
|
39
|
+
class RenderFallbackSignal extends Error {
|
|
40
|
+
constructor() {
|
|
41
|
+
super('Render fallback requested by widget');
|
|
42
|
+
this.name = 'RenderFallbackSignal';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const DynamicExperienceSlot = _ref => {
|
|
46
|
+
let {
|
|
47
|
+
widgetName
|
|
48
|
+
} = _ref,
|
|
49
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
50
|
+
const ref = (0, _react.useRef)(null);
|
|
51
|
+
const UCL = useUCL();
|
|
52
|
+
const [shouldThrow, setShouldThrow] = (0, _react.useState)(false);
|
|
53
|
+
const [error, setError] = (0, _react.useState)(null);
|
|
54
|
+
|
|
55
|
+
// Lock props to prevent unnecessary re-renders
|
|
56
|
+
const restPropsRef = (0, _react.useRef)(rest);
|
|
57
|
+
// Update ref on each render to prevent stale props
|
|
58
|
+
restPropsRef.current = rest;
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
const refCurrent = ref.current;
|
|
61
|
+
if (!refCurrent || !UCL) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
UCL.mount(widgetName, refCurrent, _objectSpread(_objectSpread({}, restPropsRef.current), {}, {
|
|
66
|
+
onFallbackShouldRender: setShouldThrow
|
|
67
|
+
}));
|
|
68
|
+
} catch (e) {
|
|
69
|
+
setError(e);
|
|
70
|
+
}
|
|
71
|
+
return () => UCL.unmount(refCurrent);
|
|
72
|
+
}, [widgetName, UCL]);
|
|
73
|
+
if (error) {
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
if (shouldThrow) {
|
|
77
|
+
throw new RenderFallbackSignal();
|
|
78
|
+
}
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
80
|
+
ref: ref
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
DynamicExperienceSlot.propTypes = {
|
|
84
|
+
widgetName: _propTypes.default.string.isRequired
|
|
85
|
+
};
|
|
86
|
+
var _default = exports.default = DynamicExperienceSlot;
|
|
87
|
+
//# sourceMappingURL=DynamicExperienceSlot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicExperienceSlot.js","names":["_react","require","_propTypes","_interopRequireDefault","_jsxRuntime","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","useUCL","timeout","undefined","ucl","setUcl","useState","window","UCL","useEffect","start","Date","now","id","setInterval","clearInterval","RenderFallbackSignal","Error","constructor","name","DynamicExperienceSlot","_ref","widgetName","rest","ref","useRef","shouldThrow","setShouldThrow","error","setError","restPropsRef","current","refCurrent","mount","onFallbackShouldRender","unmount","jsx","propTypes","PropTypes","string","isRequired","_default","exports"],"sources":["../../src/dynamic-experience-slot/DynamicExperienceSlot.jsx"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction useUCL(timeout = 5000) {\n const [ucl, setUcl] = useState(() => window.UCL);\n useEffect(() => {\n if (ucl) { return undefined; }\n const start = Date.now();\n const id = setInterval(() => {\n if (window.UCL) {\n setUcl(window.UCL);\n clearInterval(id);\n } else if (Date.now() - start > timeout) {\n clearInterval(id);\n }\n }, 100);\n return () => clearInterval(id);\n }, [ucl, timeout]);\n return ucl;\n}\nclass RenderFallbackSignal extends Error {\n constructor() {\n super('Render fallback requested by widget');\n this.name = 'RenderFallbackSignal';\n }\n}\n\nconst DynamicExperienceSlot = ({ widgetName, ...rest }) => {\n const ref = useRef(null);\n const UCL = useUCL();\n const [shouldThrow, setShouldThrow] = useState(false);\n const [error, setError] = useState(null);\n\n // Lock props to prevent unnecessary re-renders\n const restPropsRef = useRef(rest);\n // Update ref on each render to prevent stale props\n restPropsRef.current = rest;\n\n useEffect(() => {\n const refCurrent = ref.current;\n if (!refCurrent || !UCL) { return undefined; }\n try {\n UCL.mount(widgetName, refCurrent, {\n ...restPropsRef.current,\n onFallbackShouldRender: setShouldThrow,\n });\n } catch (e) {\n setError(e);\n }\n return () => UCL.unmount(refCurrent);\n }, [widgetName, UCL]);\n if (error) { throw error; }\n if (shouldThrow) { throw new RenderFallbackSignal(); }\n return <div ref={ref} />;\n};\n\nDynamicExperienceSlot.propTypes = {\n widgetName: PropTypes.string.isRequired,\n};\n\nexport default DynamicExperienceSlot;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _DynamicExperienceSlot = _interopRequireDefault(require("./DynamicExperienceSlot"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var _default = exports.default = _DynamicExperienceSlot.default;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_DynamicExperienceSlot","_interopRequireDefault","require","e","__esModule","default","_default","exports","DynamicExperienceSlot"],"sources":["../../src/dynamic-experience-slot/index.jsx"],"sourcesContent":["import DynamicExperienceSlot from './DynamicExperienceSlot';\n\nexport default DynamicExperienceSlot;\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAE7CG,8BAAqB","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "AccessExpirationAlert", {
|
|
|
9
9
|
return _accessExpirationAlert.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "DynamicExperienceSlot", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _dynamicExperienceSlot.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "LockPaywall", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -27,12 +33,24 @@ Object.defineProperty(exports, "SectionList", {
|
|
|
27
33
|
return _sectionOutline.default;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "UclWrapper", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _uclWrapper.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
30
42
|
Object.defineProperty(exports, "UpgradeNotification", {
|
|
31
43
|
enumerable: true,
|
|
32
44
|
get: function () {
|
|
33
45
|
return _upgradeNotification.default;
|
|
34
46
|
}
|
|
35
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "UpgradeToCompleteAlert", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _upgradeToCompleteAlert.default;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
36
54
|
Object.defineProperty(exports, "UpsellBullets", {
|
|
37
55
|
enumerable: true,
|
|
38
56
|
get: function () {
|
|
@@ -43,8 +61,11 @@ var _upgradeNotification = _interopRequireDefault(require("./upgrade-notificatio
|
|
|
43
61
|
var _paywall = _interopRequireDefault(require("./paywall"));
|
|
44
62
|
var _upgradeModal = _interopRequireDefault(require("./upgrade-modal"));
|
|
45
63
|
var _accessExpirationAlert = _interopRequireDefault(require("./access-expiration-alert"));
|
|
64
|
+
var _upgradeToCompleteAlert = _interopRequireDefault(require("./upgrade-to-complete-alert"));
|
|
46
65
|
var _generic = require("./generic");
|
|
47
66
|
var _sectionOutline = _interopRequireDefault(require("./section-outline"));
|
|
67
|
+
var _dynamicExperienceSlot = _interopRequireDefault(require("./dynamic-experience-slot"));
|
|
68
|
+
var _uclWrapper = _interopRequireDefault(require("./ucl-wrapper"));
|
|
48
69
|
require("./index.scss");
|
|
49
70
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
50
71
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","_accessExpirationAlert","_generic","_sectionOutline","e","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport NextUnitButton from './upgrade-modal';\nimport AccessExpirationAlert from './access-expiration-alert';\nimport { UpsellBullets } from './generic';\nimport SectionList from './section-outline';\nimport './index.scss';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n NextUnitButton,\n AccessExpirationAlert,\n UpsellBullets,\n SectionList,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","_accessExpirationAlert","_upgradeToCompleteAlert","_generic","_sectionOutline","_dynamicExperienceSlot","_uclWrapper","e","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport NextUnitButton from './upgrade-modal';\nimport AccessExpirationAlert from './access-expiration-alert';\nimport UpgradeToCompleteAlert from './upgrade-to-complete-alert';\nimport { UpsellBullets } from './generic';\nimport SectionList from './section-outline';\nimport DynamicExperienceSlot from './dynamic-experience-slot';\nimport UclWrapper from './ucl-wrapper';\nimport './index.scss';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n NextUnitButton,\n AccessExpirationAlert,\n UpgradeToCompleteAlert,\n UpsellBullets,\n SectionList,\n DynamicExperienceSlot,\n UclWrapper,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,sBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,uBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,sBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AACAA,OAAA;AAAsB,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _logging = require("@edx/frontend-platform/logging");
|
|
9
|
+
const UclWrapper = () => {
|
|
10
|
+
const [isLoaded, setLoaded] = (0, _react.useState)(false);
|
|
11
|
+
|
|
12
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
13
|
+
window._UCL = {
|
|
14
|
+
identity: '2u-edx-learning'
|
|
15
|
+
};
|
|
16
|
+
(0, _react.useEffect)(() => {
|
|
17
|
+
if (isLoaded) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const head = document.getElementsByTagName('head')[0];
|
|
21
|
+
const script = document.createElement('script');
|
|
22
|
+
script.src = 'https://affiliate-bundle.api.highereducation.com/latest/UCL.adapter.js';
|
|
23
|
+
script.dataset.testId = 'ucl-test';
|
|
24
|
+
script.async = true;
|
|
25
|
+
script.onload = () => {
|
|
26
|
+
if (window.UCL && typeof window.UCL === 'function') {
|
|
27
|
+
(0, _logging.logInfo)('UCL script loaded successfully!');
|
|
28
|
+
} else {
|
|
29
|
+
// in the case that the script successfully loaded but UCL is still not found
|
|
30
|
+
(0, _logging.logError)('window.UCL not found after UCL script load.');
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
script.onerror = e => {
|
|
34
|
+
(0, _logging.logError)('UCL script failed to load', e);
|
|
35
|
+
};
|
|
36
|
+
head.appendChild(script);
|
|
37
|
+
setLoaded(true);
|
|
38
|
+
}, [isLoaded]);
|
|
39
|
+
return null;
|
|
40
|
+
};
|
|
41
|
+
var _default = exports.default = UclWrapper;
|
|
42
|
+
//# sourceMappingURL=UclWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UclWrapper.js","names":["_react","require","_logging","UclWrapper","isLoaded","setLoaded","useState","window","_UCL","identity","useEffect","head","document","getElementsByTagName","script","createElement","src","dataset","testId","async","onload","UCL","logInfo","logError","onerror","e","appendChild","_default","exports","default"],"sources":["../../src/ucl-wrapper/UclWrapper.jsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { logError, logInfo } from '@edx/frontend-platform/logging';\n\nconst UclWrapper = () => {\n const [isLoaded, setLoaded] = useState(false);\n\n // eslint-disable-next-line no-underscore-dangle\n window._UCL = {\n identity: '2u-edx-learning',\n };\n\n useEffect(() => {\n if (isLoaded) {\n return;\n }\n\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = 'https://affiliate-bundle.api.highereducation.com/latest/UCL.adapter.js';\n script.dataset.testId = 'ucl-test';\n script.async = true;\n\n script.onload = () => {\n if (window.UCL && typeof window.UCL === 'function') {\n logInfo('UCL script loaded successfully!');\n } else {\n // in the case that the script successfully loaded but UCL is still not found\n logError('window.UCL not found after UCL script load.');\n }\n };\n\n script.onerror = (e) => {\n logError('UCL script failed to load', e);\n };\n\n head.appendChild(script);\n setLoaded(true);\n }, [isLoaded]);\n\n return null;\n};\n\nexport default UclWrapper;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;;EAE7C;EACAC,MAAM,CAACC,IAAI,GAAG;IACZC,QAAQ,EAAE;EACZ,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIN,QAAQ,EAAE;MACZ;IACF;IAEA,MAAMO,IAAI,GAAGC,QAAQ,CAACC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,MAAMC,MAAM,GAAGF,QAAQ,CAACG,aAAa,CAAC,QAAQ,CAAC;IAC/CD,MAAM,CAACE,GAAG,GAAG,wEAAwE;IACrFF,MAAM,CAACG,OAAO,CAACC,MAAM,GAAG,UAAU;IAClCJ,MAAM,CAACK,KAAK,GAAG,IAAI;IAEnBL,MAAM,CAACM,MAAM,GAAG,MAAM;MACpB,IAAIb,MAAM,CAACc,GAAG,IAAI,OAAOd,MAAM,CAACc,GAAG,KAAK,UAAU,EAAE;QAClD,IAAAC,gBAAO,EAAC,iCAAiC,CAAC;MAC5C,CAAC,MAAM;QACL;QACA,IAAAC,iBAAQ,EAAC,6CAA6C,CAAC;MACzD;IACF,CAAC;IAEDT,MAAM,CAACU,OAAO,GAAIC,CAAC,IAAK;MACtB,IAAAF,iBAAQ,EAAC,2BAA2B,EAAEE,CAAC,CAAC;IAC1C,CAAC;IAEDd,IAAI,CAACe,WAAW,CAACZ,MAAM,CAAC;IACxBT,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;EAEd,OAAO,IAAI;AACb,CAAC;AAAC,IAAAuB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa1B,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _UclWrapper = _interopRequireDefault(require("./UclWrapper"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var _default = exports.default = _UclWrapper.default;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_UclWrapper","_interopRequireDefault","require","e","__esModule","default","_default","exports","UclWrapper"],"sources":["../../src/ucl-wrapper/index.jsx"],"sourcesContent":["import UclWrapper from './UclWrapper';\n\nexport default UclWrapper;\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEvBG,mBAAU","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactRedux = require("react-redux");
|
|
9
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
10
|
+
var _paragon = require("@openedx/paragon");
|
|
11
|
+
var _modelStore = require("@src/generic/model-store");
|
|
12
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
13
|
+
var _track = require("./track");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
// eslint-disable-line import/no-unresolved
|
|
17
|
+
|
|
18
|
+
const UpgradeToCompleteAlert = () => {
|
|
19
|
+
const intl = (0, _i18n.useIntl)();
|
|
20
|
+
const {
|
|
21
|
+
courseId
|
|
22
|
+
} = (0, _reactRedux.useSelector)(state => state.courseHome);
|
|
23
|
+
const {
|
|
24
|
+
datesBannerInfo,
|
|
25
|
+
hasEnded
|
|
26
|
+
} = (0, _modelStore.useModel)('dates', courseId);
|
|
27
|
+
const {
|
|
28
|
+
org
|
|
29
|
+
} = (0, _modelStore.useModel)('courseHomeMeta', courseId);
|
|
30
|
+
const {
|
|
31
|
+
contentTypeGatingEnabled,
|
|
32
|
+
missedDeadlines,
|
|
33
|
+
verifiedUpgradeLink
|
|
34
|
+
} = datesBannerInfo || {};
|
|
35
|
+
if (!contentTypeGatingEnabled || missedDeadlines || hasEnded || !verifiedUpgradeLink) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert, {
|
|
39
|
+
id: "upgrade-complete-alert",
|
|
40
|
+
className: "bg-light-200",
|
|
41
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
|
|
42
|
+
className: "w-100 m-0",
|
|
43
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Col, {
|
|
44
|
+
xs: 12,
|
|
45
|
+
md: 9,
|
|
46
|
+
className: "small p-0 pr-md-2",
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert.Heading, {
|
|
48
|
+
children: intl.formatMessage(_messages.default.upgradeToCompleteHeader)
|
|
49
|
+
}), intl.formatMessage(_messages.default.upgradeToCompleteBody)]
|
|
50
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
|
|
51
|
+
xs: 12,
|
|
52
|
+
md: 3,
|
|
53
|
+
className: "align-self-center text-right mt-3 mt-md-0 p-0",
|
|
54
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
|
|
55
|
+
variant: "brand",
|
|
56
|
+
size: "sm",
|
|
57
|
+
className: "w-xs-100 w-md-auto",
|
|
58
|
+
onClick: () => {
|
|
59
|
+
(0, _track.logUpgradeLinkClick)(org, courseId);
|
|
60
|
+
global.location.replace(verifiedUpgradeLink);
|
|
61
|
+
},
|
|
62
|
+
children: intl.formatMessage(_messages.default.upgradeToCompleteButton)
|
|
63
|
+
})
|
|
64
|
+
})]
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
var _default = exports.default = UpgradeToCompleteAlert;
|
|
69
|
+
//# sourceMappingURL=UpgradeToCompleteAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpgradeToCompleteAlert.js","names":["_react","_interopRequireDefault","require","_reactRedux","_i18n","_paragon","_modelStore","_messages","_track","_jsxRuntime","e","__esModule","default","UpgradeToCompleteAlert","intl","useIntl","courseId","useSelector","state","courseHome","datesBannerInfo","hasEnded","useModel","org","contentTypeGatingEnabled","missedDeadlines","verifiedUpgradeLink","jsx","Alert","id","className","children","jsxs","Row","Col","xs","md","Heading","formatMessage","messages","upgradeToCompleteHeader","upgradeToCompleteBody","Button","variant","size","onClick","logUpgradeLinkClick","global","location","replace","upgradeToCompleteButton","_default","exports"],"sources":["../../src/upgrade-to-complete-alert/UpgradeToCompleteAlert.jsx"],"sourcesContent":["import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Alert,\n Button,\n Col,\n Row,\n} from '@openedx/paragon';\n\nimport { useModel } from '@src/generic/model-store'; // eslint-disable-line import/no-unresolved\nimport messages from './messages';\nimport { logUpgradeLinkClick } from './track';\n\nconst UpgradeToCompleteAlert = () => {\n const intl = useIntl();\n const {\n courseId,\n } = useSelector(state => state.courseHome);\n\n const {\n datesBannerInfo,\n hasEnded,\n } = useModel('dates', courseId);\n\n const {\n org,\n } = useModel('courseHomeMeta', courseId);\n\n const {\n contentTypeGatingEnabled,\n missedDeadlines,\n verifiedUpgradeLink,\n } = datesBannerInfo || {};\n\n if (!contentTypeGatingEnabled || missedDeadlines || hasEnded || !verifiedUpgradeLink) {\n return null;\n }\n\n return (\n <Alert id=\"upgrade-complete-alert\" className=\"bg-light-200\">\n <Row className=\"w-100 m-0\">\n <Col xs={12} md={9} className=\"small p-0 pr-md-2\">\n <Alert.Heading>{intl.formatMessage(messages.upgradeToCompleteHeader)}</Alert.Heading>\n {intl.formatMessage(messages.upgradeToCompleteBody)}\n </Col>\n <Col xs={12} md={3} className=\"align-self-center text-right mt-3 mt-md-0 p-0\">\n <Button\n variant=\"brand\"\n size=\"sm\"\n className=\"w-xs-100 w-md-auto\"\n onClick={() => {\n logUpgradeLinkClick(org, courseId);\n global.location.replace(verifiedUpgradeLink);\n }}\n >\n {intl.formatMessage(messages.upgradeToCompleteButton)}\n </Button>\n </Col>\n </Row>\n </Alert>\n );\n};\n\nexport default UpgradeToCompleteAlert;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAOA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA8C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAFO;;AAIrD,MAAMG,sBAAsB,GAAGA,CAAA,KAAM;EACnC,MAAMC,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EACtB,MAAM;IACJC;EACF,CAAC,GAAG,IAAAC,uBAAW,EAACC,KAAK,IAAIA,KAAK,CAACC,UAAU,CAAC;EAE1C,MAAM;IACJC,eAAe;IACfC;EACF,CAAC,GAAG,IAAAC,oBAAQ,EAAC,OAAO,EAAEN,QAAQ,CAAC;EAE/B,MAAM;IACJO;EACF,CAAC,GAAG,IAAAD,oBAAQ,EAAC,gBAAgB,EAAEN,QAAQ,CAAC;EAExC,MAAM;IACJQ,wBAAwB;IACxBC,eAAe;IACfC;EACF,CAAC,GAAGN,eAAe,IAAI,CAAC,CAAC;EAEzB,IAAI,CAACI,wBAAwB,IAAIC,eAAe,IAAIJ,QAAQ,IAAI,CAACK,mBAAmB,EAAE;IACpF,OAAO,IAAI;EACb;EAEA,oBACE,IAAAjB,WAAA,CAAAkB,GAAA,EAACtB,QAAA,CAAAuB,KAAK;IAACC,EAAE,EAAC,wBAAwB;IAACC,SAAS,EAAC,cAAc;IAAAC,QAAA,eACzD,IAAAtB,WAAA,CAAAuB,IAAA,EAAC3B,QAAA,CAAA4B,GAAG;MAACH,SAAS,EAAC,WAAW;MAAAC,QAAA,gBACxB,IAAAtB,WAAA,CAAAuB,IAAA,EAAC3B,QAAA,CAAA6B,GAAG;QAACC,EAAE,EAAE,EAAG;QAACC,EAAE,EAAE,CAAE;QAACN,SAAS,EAAC,mBAAmB;QAAAC,QAAA,gBAC/C,IAAAtB,WAAA,CAAAkB,GAAA,EAACtB,QAAA,CAAAuB,KAAK,CAACS,OAAO;UAAAN,QAAA,EAAEjB,IAAI,CAACwB,aAAa,CAACC,iBAAQ,CAACC,uBAAuB;QAAC,CAAgB,CAAC,EACpF1B,IAAI,CAACwB,aAAa,CAACC,iBAAQ,CAACE,qBAAqB,CAAC;MAAA,CAChD,CAAC,eACN,IAAAhC,WAAA,CAAAkB,GAAA,EAACtB,QAAA,CAAA6B,GAAG;QAACC,EAAE,EAAE,EAAG;QAACC,EAAE,EAAE,CAAE;QAACN,SAAS,EAAC,+CAA+C;QAAAC,QAAA,eAC3E,IAAAtB,WAAA,CAAAkB,GAAA,EAACtB,QAAA,CAAAqC,MAAM;UACLC,OAAO,EAAC,OAAO;UACfC,IAAI,EAAC,IAAI;UACTd,SAAS,EAAC,oBAAoB;UAC9Be,OAAO,EAAEA,CAAA,KAAM;YACb,IAAAC,0BAAmB,EAACvB,GAAG,EAAEP,QAAQ,CAAC;YAClC+B,MAAM,CAACC,QAAQ,CAACC,OAAO,CAACvB,mBAAmB,CAAC;UAC9C,CAAE;UAAAK,QAAA,EAEDjB,IAAI,CAACwB,aAAa,CAACC,iBAAQ,CAACW,uBAAuB;QAAC,CAC/C;MAAC,CACN,CAAC;IAAA,CACH;EAAC,CACD,CAAC;AAEZ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxC,OAAA,GAEaC,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _UpgradeToCompleteAlert = _interopRequireDefault(require("./UpgradeToCompleteAlert"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var _default = exports.default = _UpgradeToCompleteAlert.default;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_UpgradeToCompleteAlert","_interopRequireDefault","require","e","__esModule","default","_default","exports","UpgradeToCompleteAlert"],"sources":["../../src/upgrade-to-complete-alert/index.jsx"],"sourcesContent":["import UpgradeToCompleteAlert from './UpgradeToCompleteAlert';\n\nexport default UpgradeToCompleteAlert;\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAE/CG,+BAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
8
|
+
const messages = (0, _i18n.defineMessages)({
|
|
9
|
+
upgradeToCompleteHeader: {
|
|
10
|
+
id: 'datesBanner.upgradeToCompleteGradedBanner.header',
|
|
11
|
+
defaultMessage: 'Upgrade to unlock',
|
|
12
|
+
description: 'Messaging that prompts users to upgrade their course status in order to access locked course content'
|
|
13
|
+
},
|
|
14
|
+
upgradeToCompleteBody: {
|
|
15
|
+
id: 'datesBanner.upgradeToCompleteGradedBanner.body',
|
|
16
|
+
defaultMessage: 'You are auditing this course, which means that you are unable to participate in graded' + ' assignments. To complete graded assignments as part of this course, you can upgrade today.',
|
|
17
|
+
description: 'It explains the effect of upgrading the course'
|
|
18
|
+
},
|
|
19
|
+
upgradeToCompleteButton: {
|
|
20
|
+
id: 'datesBanner.upgradeToCompleteGradedBanner.button',
|
|
21
|
+
defaultMessage: 'Upgrade now',
|
|
22
|
+
description: 'Button that prompts users to upgrade their course status'
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var _default = exports.default = messages;
|
|
26
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","upgradeToCompleteHeader","id","defaultMessage","description","upgradeToCompleteBody","upgradeToCompleteButton","_default","exports","default"],"sources":["../../src/upgrade-to-complete-alert/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n upgradeToCompleteHeader: {\n id: 'datesBanner.upgradeToCompleteGradedBanner.header',\n defaultMessage: 'Upgrade to unlock',\n description: 'Messaging that prompts users to upgrade their course status in order to access locked course content',\n },\n upgradeToCompleteBody: {\n id: 'datesBanner.upgradeToCompleteGradedBanner.body',\n defaultMessage: 'You are auditing this course, which means that you are unable to participate in graded'\n + ' assignments. To complete graded assignments as part of this course, you can upgrade today.',\n description: 'It explains the effect of upgrading the course',\n },\n upgradeToCompleteButton: {\n id: 'datesBanner.upgradeToCompleteGradedBanner.button',\n defaultMessage: 'Upgrade now',\n description: 'Button that prompts users to upgrade their course status',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,uBAAuB,EAAE;IACvBC,EAAE,EAAE,kDAAkD;IACtDC,cAAc,EAAE,mBAAmB;IACnCC,WAAW,EAAE;EACf,CAAC;EACDC,qBAAqB,EAAE;IACrBH,EAAE,EAAE,gDAAgD;IACpDC,cAAc,EAAE,wFAAwF,GACpG,6FAA6F;IACjGC,WAAW,EAAE;EACf,CAAC;EACDE,uBAAuB,EAAE;IACvBJ,EAAE,EAAE,kDAAkD;IACtDC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYV,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.logUpgradeLinkClick = void 0;
|
|
7
|
+
var _analytics = require("@edx/frontend-platform/analytics");
|
|
8
|
+
/**
|
|
9
|
+
* Logs an upgrade link click event for the upgrade to complete alert.
|
|
10
|
+
*
|
|
11
|
+
* @param {string} org - The organization key
|
|
12
|
+
* @param {string} courseId - The course run key
|
|
13
|
+
*/
|
|
14
|
+
const logUpgradeLinkClick = (org, courseId) => {
|
|
15
|
+
(0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', {
|
|
16
|
+
org_key: org,
|
|
17
|
+
courserun_key: courseId,
|
|
18
|
+
linkCategory: 'personalized_learner_schedules',
|
|
19
|
+
linkName: 'dates_upgrade',
|
|
20
|
+
linkType: 'button',
|
|
21
|
+
pageName: 'dates_tab'
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.logUpgradeLinkClick = logUpgradeLinkClick;
|
|
25
|
+
//# sourceMappingURL=track.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"track.js","names":["_analytics","require","logUpgradeLinkClick","org","courseId","sendTrackEvent","org_key","courserun_key","linkCategory","linkName","linkType","pageName","exports"],"sources":["../../src/upgrade-to-complete-alert/track.js"],"sourcesContent":["import { sendTrackEvent } from '@edx/frontend-platform/analytics';\n\n/**\n * Logs an upgrade link click event for the upgrade to complete alert.\n *\n * @param {string} org - The organization key\n * @param {string} courseId - The course run key\n */\nexport const logUpgradeLinkClick = (org, courseId) => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n org_key: org,\n courserun_key: courseId,\n linkCategory: 'personalized_learner_schedules',\n linkName: 'dates_upgrade',\n linkType: 'button',\n pageName: 'dates_tab',\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAGA,CAACC,GAAG,EAAEC,QAAQ,KAAK;EACpD,IAAAC,yBAAc,EAAC,uCAAuC,EAAE;IACtDC,OAAO,EAAEH,GAAG;IACZI,aAAa,EAAEH,QAAQ;IACvBI,YAAY,EAAE,gCAAgC;IAC9CC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;EACZ,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edx/frontend-plugin-advertisements",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"description": "Frontend plugin for edX in course advertisements",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -56,13 +56,15 @@
|
|
|
56
56
|
"husky": "7.0.4",
|
|
57
57
|
"jest": "29.7.0",
|
|
58
58
|
"rosie": "2.1.1",
|
|
59
|
-
"semantic-release": "^21.0.7"
|
|
59
|
+
"semantic-release": "^21.0.7",
|
|
60
|
+
"react-error-boundary": "^6.1.1"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
62
63
|
"@edx/frontend-platform": "^8.0.0",
|
|
63
64
|
"@openedx/paragon": "^23.0.0",
|
|
64
65
|
"classnames": "^2.3.1",
|
|
65
66
|
"prop-types": "15.8.1",
|
|
66
|
-
"react": "18.3.1"
|
|
67
|
+
"react": "18.3.1",
|
|
68
|
+
"react-redux": "^7.2.9"
|
|
67
69
|
}
|
|
68
70
|
}
|