@anas_hameed/edly-saas-widget 0.1.7 → 0.1.8
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/EdlyLogistrationInfo/EdlyLogistrationInfo.js +54 -0
- package/dist/EdlyLogistrationInfo/EdlyLogistrationInfo.js.map +1 -0
- package/dist/EdlyLogistrationInfo/index.js +14 -0
- package/dist/EdlyLogistrationInfo/index.js.map +1 -0
- package/dist/EdlyLogistrationInfo/messages.js +26 -0
- package/dist/EdlyLogistrationInfo/messages.js.map +1 -0
- package/dist/EmailCheckWidget/EmailCheckWidget.js +130 -0
- package/dist/EmailCheckWidget/EmailCheckWidget.js.map +1 -0
- package/dist/EmailCheckWidget/data/actions.js +40 -0
- package/dist/EmailCheckWidget/data/actions.js.map +1 -0
- package/dist/EmailCheckWidget/data/constants.js +20 -0
- package/dist/EmailCheckWidget/data/constants.js.map +1 -0
- package/dist/EmailCheckWidget/data/index.js +56 -0
- package/dist/EmailCheckWidget/data/index.js.map +1 -0
- package/dist/EmailCheckWidget/data/reducers.js +62 -0
- package/dist/EmailCheckWidget/data/reducers.js.map +1 -0
- package/dist/EmailCheckWidget/data/sagas.js +31 -0
- package/dist/EmailCheckWidget/data/sagas.js.map +1 -0
- package/dist/EmailCheckWidget/data/service.js +29 -0
- package/dist/EmailCheckWidget/data/service.js.map +1 -0
- package/dist/EmailCheckWidget/index.js +37 -0
- package/dist/EmailCheckWidget/index.js.map +1 -0
- package/dist/EmailCheckWidget/messages.js +36 -0
- package/dist/EmailCheckWidget/messages.js.map +1 -0
- package/dist/FooterWidget/index.js +14 -14
- package/dist/FooterWidget/index.js.map +1 -1
- package/dist/HeaderWidget/index.js +18 -18
- package/dist/HeaderWidget/index.js.map +1 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,54 @@
|
|
|
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 _icons = require("@openedx/paragon/icons");
|
|
12
|
+
var _constants = require("../EmailCheckWidget/data/constants");
|
|
13
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
const EdlyLogistrationInfo = () => {
|
|
17
|
+
const {
|
|
18
|
+
formatMessage
|
|
19
|
+
} = (0, _i18n.useIntl)();
|
|
20
|
+
const errorCode = (0, _reactRedux.useSelector)(state => state.emailCheck?.errorCode);
|
|
21
|
+
const context = (0, _reactRedux.useSelector)(state => state.emailCheck?.context || {});
|
|
22
|
+
if (!errorCode) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
let alertMessage;
|
|
26
|
+
switch (errorCode) {
|
|
27
|
+
case _constants.EMAIL_REGISTERED_DIFFERENT_ORG:
|
|
28
|
+
alertMessage = formatMessage(_messages.default['edly.email.registered.different.org']);
|
|
29
|
+
break;
|
|
30
|
+
case _constants.CROSS_TENANT_LOGIN:
|
|
31
|
+
alertMessage = formatMessage(_messages.default['edly.cross.tenant.login.enabled'], {
|
|
32
|
+
registeredSite: context.registered_site || 'a partner site'
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
case _constants.REGISTRATION_REQUIRED_FOR_CURRENT_TENANT:
|
|
36
|
+
alertMessage = formatMessage(_messages.default['edly.registration.required.for.tenant'], {
|
|
37
|
+
registeredSite: context.registered_site || 'a partner site'
|
|
38
|
+
});
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert, {
|
|
44
|
+
id: "edly-alert",
|
|
45
|
+
className: "mb-5",
|
|
46
|
+
variant: "info",
|
|
47
|
+
icon: _icons.Info,
|
|
48
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
49
|
+
children: alertMessage
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
var _default = exports.default = EdlyLogistrationInfo;
|
|
54
|
+
//# sourceMappingURL=EdlyLogistrationInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EdlyLogistrationInfo.js","names":["_react","_interopRequireDefault","require","_reactRedux","_i18n","_paragon","_icons","_constants","_messages","_jsxRuntime","e","__esModule","default","EdlyLogistrationInfo","formatMessage","useIntl","errorCode","useSelector","state","emailCheck","context","alertMessage","EMAIL_REGISTERED_DIFFERENT_ORG","messages","CROSS_TENANT_LOGIN","registeredSite","registered_site","REGISTRATION_REQUIRED_FOR_CURRENT_TENANT","jsx","Alert","id","className","variant","icon","Info","children","_default","exports"],"sources":["../../src/EdlyLogistrationInfo/EdlyLogistrationInfo.jsx"],"sourcesContent":["import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Alert } from '@openedx/paragon';\nimport { Info } from '@openedx/paragon/icons';\n\nimport {\n CROSS_TENANT_LOGIN,\n EMAIL_REGISTERED_DIFFERENT_ORG,\n REGISTRATION_REQUIRED_FOR_CURRENT_TENANT,\n} from '../EmailCheckWidget/data/constants';\nimport messages from './messages';\n\nconst EdlyLogistrationInfo = () => {\n const { formatMessage } = useIntl();\n const errorCode = useSelector(state => state.emailCheck?.errorCode);\n const context = useSelector(state => state.emailCheck?.context || {});\n\n if (!errorCode) {\n return null;\n }\n\n let alertMessage;\n switch (errorCode) {\n case EMAIL_REGISTERED_DIFFERENT_ORG:\n alertMessage = formatMessage(messages['edly.email.registered.different.org']);\n break;\n case CROSS_TENANT_LOGIN:\n alertMessage = formatMessage(messages['edly.cross.tenant.login.enabled'], {\n registeredSite: context.registered_site || 'a partner site',\n });\n break;\n case REGISTRATION_REQUIRED_FOR_CURRENT_TENANT:\n alertMessage = formatMessage(messages['edly.registration.required.for.tenant'], {\n registeredSite: context.registered_site || 'a partner site',\n });\n break;\n default:\n return null;\n }\n\n return (\n <Alert id=\"edly-alert\" className=\"mb-5\" variant=\"info\" icon={Info}>\n <p>{alertMessage}</p>\n </Alert>\n );\n};\n\nexport default EdlyLogistrationInfo;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AAKA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAkC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnC,MAAMC,SAAS,GAAG,IAAAC,uBAAW,EAACC,KAAK,IAAIA,KAAK,CAACC,UAAU,EAAEH,SAAS,CAAC;EACnE,MAAMI,OAAO,GAAG,IAAAH,uBAAW,EAACC,KAAK,IAAIA,KAAK,CAACC,UAAU,EAAEC,OAAO,IAAI,CAAC,CAAC,CAAC;EAErE,IAAI,CAACJ,SAAS,EAAE;IACd,OAAO,IAAI;EACb;EAEA,IAAIK,YAAY;EAChB,QAAQL,SAAS;IACf,KAAKM,yCAA8B;MACjCD,YAAY,GAAGP,aAAa,CAACS,iBAAQ,CAAC,qCAAqC,CAAC,CAAC;MAC7E;IACF,KAAKC,6BAAkB;MACrBH,YAAY,GAAGP,aAAa,CAACS,iBAAQ,CAAC,iCAAiC,CAAC,EAAE;QACxEE,cAAc,EAAEL,OAAO,CAACM,eAAe,IAAI;MAC7C,CAAC,CAAC;MACF;IACF,KAAKC,mDAAwC;MAC3CN,YAAY,GAAGP,aAAa,CAACS,iBAAQ,CAAC,uCAAuC,CAAC,EAAE;QAC9EE,cAAc,EAAEL,OAAO,CAACM,eAAe,IAAI;MAC7C,CAAC,CAAC;MACF;IACF;MACE,OAAO,IAAI;EACf;EAEA,oBACE,IAAAjB,WAAA,CAAAmB,GAAA,EAACvB,QAAA,CAAAwB,KAAK;IAACC,EAAE,EAAC,YAAY;IAACC,SAAS,EAAC,MAAM;IAACC,OAAO,EAAC,MAAM;IAACC,IAAI,EAAEC,WAAK;IAAAC,QAAA,eAChE,IAAA1B,WAAA,CAAAmB,GAAA;MAAAO,QAAA,EAAId;IAAY,CAAI;EAAC,CAChB,CAAC;AAEZ,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEaC,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "EdlyLogistrationInfo", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _EdlyLogistrationInfo.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _EdlyLogistrationInfo = _interopRequireDefault(require("./EdlyLogistrationInfo"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_EdlyLogistrationInfo","_interopRequireDefault","require","e","__esModule","default"],"sources":["../../src/EdlyLogistrationInfo/index.js"],"sourcesContent":["export { default as EdlyLogistrationInfo } from './EdlyLogistrationInfo';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","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
|
+
'edly.email.registered.different.org': {
|
|
10
|
+
id: 'edly.email.registered.different.org',
|
|
11
|
+
defaultMessage: 'This email is already registered with another organization. Please use a different email address.',
|
|
12
|
+
description: 'Alert message when user email is registered with a different organization'
|
|
13
|
+
},
|
|
14
|
+
'edly.cross.tenant.login.enabled': {
|
|
15
|
+
id: 'edly.cross.tenant.login.enabled',
|
|
16
|
+
defaultMessage: 'You have already registered with this email on {registeredSite}. Please login to continue.',
|
|
17
|
+
description: 'Alert message when user can login across tenants in same organization'
|
|
18
|
+
},
|
|
19
|
+
'edly.registration.required.for.tenant': {
|
|
20
|
+
id: 'edly.registration.required.for.tenant',
|
|
21
|
+
defaultMessage: 'You have already registered with this email on {registeredSite}. Continuing will register you on this site with the same email address.',
|
|
22
|
+
description: 'Alert message when user needs to register for specific tenant'
|
|
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","id","defaultMessage","description","_default","exports","default"],"sources":["../../src/EdlyLogistrationInfo/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'edly.email.registered.different.org': {\n id: 'edly.email.registered.different.org',\n defaultMessage: 'This email is already registered with another organization. Please use a different email address.',\n description: 'Alert message when user email is registered with a different organization',\n },\n 'edly.cross.tenant.login.enabled': {\n id: 'edly.cross.tenant.login.enabled',\n defaultMessage: 'You have already registered with this email on {registeredSite}. Please login to continue.',\n description: 'Alert message when user can login across tenants in same organization',\n },\n 'edly.registration.required.for.tenant': {\n id: 'edly.registration.required.for.tenant',\n defaultMessage: 'You have already registered with this email on {registeredSite}. Continuing will register you on this site with the same email address.',\n description: 'Alert message when user needs to register for specific tenant',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9B,qCAAqC,EAAE;IACrCC,EAAE,EAAE,qCAAqC;IACzCC,cAAc,EAAE,mGAAmG;IACnHC,WAAW,EAAE;EACf,CAAC;EACD,iCAAiC,EAAE;IACjCF,EAAE,EAAE,iCAAiC;IACrCC,cAAc,EAAE,4FAA4F;IAC5GC,WAAW,EAAE;EACf,CAAC;EACD,uCAAuC,EAAE;IACvCF,EAAE,EAAE,uCAAuC;IAC3CC,cAAc,EAAE,yIAAyI;IACzJC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYP,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactRedux = require("react-redux");
|
|
9
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
10
|
+
var _paragon = require("@openedx/paragon");
|
|
11
|
+
var _icons = require("@openedx/paragon/icons");
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _actions = require("./data/actions");
|
|
14
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
const EmailCheckWidget = ({
|
|
19
|
+
onEmailCheckComplete,
|
|
20
|
+
BaseContainer,
|
|
21
|
+
FormGroup,
|
|
22
|
+
VALID_EMAIL_REGEX
|
|
23
|
+
}) => {
|
|
24
|
+
const {
|
|
25
|
+
formatMessage
|
|
26
|
+
} = (0, _i18n.useIntl)();
|
|
27
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
28
|
+
const [email, setEmail] = (0, _react.useState)('');
|
|
29
|
+
const [emailError, setEmailError] = (0, _react.useState)('');
|
|
30
|
+
const hasCompletedRef = (0, _react.useRef)(false);
|
|
31
|
+
const submitState = (0, _reactRedux.useSelector)(state => state.emailCheck?.submitState || 'default');
|
|
32
|
+
const redirectTo = (0, _reactRedux.useSelector)(state => state.emailCheck?.redirectTo);
|
|
33
|
+
const checkedEmail = (0, _reactRedux.useSelector)(state => state.emailCheck?.email);
|
|
34
|
+
const errorCode = (0, _reactRedux.useSelector)(state => state.emailCheck?.errorCode);
|
|
35
|
+
const errorMessage = (0, _reactRedux.useSelector)(state => state.emailCheck?.errorMessage);
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
if (redirectTo && checkedEmail && !hasCompletedRef.current) {
|
|
38
|
+
hasCompletedRef.current = true;
|
|
39
|
+
onEmailCheckComplete(redirectTo, checkedEmail, errorCode);
|
|
40
|
+
}
|
|
41
|
+
}, [redirectTo, checkedEmail, errorCode, onEmailCheckComplete]);
|
|
42
|
+
const validateEmail = emailValue => {
|
|
43
|
+
if (!emailValue) {
|
|
44
|
+
return formatMessage(_messages.default['email.validation.message']);
|
|
45
|
+
}
|
|
46
|
+
const emailRegex = new RegExp(VALID_EMAIL_REGEX, 'i');
|
|
47
|
+
if (!emailRegex.test(emailValue)) {
|
|
48
|
+
return formatMessage(_messages.default['email.format.validation.message']);
|
|
49
|
+
}
|
|
50
|
+
return '';
|
|
51
|
+
};
|
|
52
|
+
const handleSubmit = e => {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
const error = validateEmail(email);
|
|
55
|
+
if (error) {
|
|
56
|
+
setEmailError(error);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
dispatch((0, _actions.checkEmailRequest)(email));
|
|
60
|
+
};
|
|
61
|
+
const handleOnChange = e => {
|
|
62
|
+
const {
|
|
63
|
+
value
|
|
64
|
+
} = e.target;
|
|
65
|
+
setEmail(value);
|
|
66
|
+
if (emailError) {
|
|
67
|
+
setEmailError('');
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const handleOnFocus = () => {
|
|
71
|
+
if (emailError) {
|
|
72
|
+
setEmailError('');
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseContainer, {
|
|
76
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
77
|
+
id: "main-content",
|
|
78
|
+
className: "main-content",
|
|
79
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
80
|
+
className: "mw-xs mt-3",
|
|
81
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
|
|
82
|
+
className: "mb-3",
|
|
83
|
+
children: formatMessage(_messages.default['email.check.heading'])
|
|
84
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
85
|
+
className: "mb-4 text-gray-700",
|
|
86
|
+
children: formatMessage(_messages.default['email.check.subheading'])
|
|
87
|
+
}), errorMessage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert, {
|
|
88
|
+
variant: "danger",
|
|
89
|
+
icon: _icons.Info,
|
|
90
|
+
className: "mb-3",
|
|
91
|
+
children: errorMessage
|
|
92
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Form, {
|
|
93
|
+
id: "email-check-form",
|
|
94
|
+
name: "email-check-form",
|
|
95
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FormGroup, {
|
|
96
|
+
name: "email",
|
|
97
|
+
value: email,
|
|
98
|
+
type: "email",
|
|
99
|
+
autoComplete: "email",
|
|
100
|
+
handleChange: handleOnChange,
|
|
101
|
+
handleFocus: handleOnFocus,
|
|
102
|
+
errorMessage: emailError,
|
|
103
|
+
floatingLabel: "Email"
|
|
104
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.StatefulButton, {
|
|
105
|
+
id: "continue-btn",
|
|
106
|
+
name: "continue-btn",
|
|
107
|
+
type: "submit",
|
|
108
|
+
variant: "brand",
|
|
109
|
+
className: "login-button-width mt-3",
|
|
110
|
+
state: submitState,
|
|
111
|
+
labels: {
|
|
112
|
+
default: formatMessage(_messages.default['email.check.button']),
|
|
113
|
+
pending: ''
|
|
114
|
+
},
|
|
115
|
+
onClick: handleSubmit,
|
|
116
|
+
onMouseDown: e => e.preventDefault()
|
|
117
|
+
})]
|
|
118
|
+
})]
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
EmailCheckWidget.propTypes = {
|
|
124
|
+
onEmailCheckComplete: _propTypes.default.func.isRequired,
|
|
125
|
+
BaseContainer: _propTypes.default.elementType.isRequired,
|
|
126
|
+
FormGroup: _propTypes.default.elementType.isRequired,
|
|
127
|
+
VALID_EMAIL_REGEX: _propTypes.default.string.isRequired
|
|
128
|
+
};
|
|
129
|
+
var _default = exports.default = EmailCheckWidget;
|
|
130
|
+
//# sourceMappingURL=EmailCheckWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailCheckWidget.js","names":["_react","_interopRequireWildcard","require","_reactRedux","_i18n","_paragon","_icons","_propTypes","_interopRequireDefault","_actions","_messages","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EmailCheckWidget","onEmailCheckComplete","BaseContainer","FormGroup","VALID_EMAIL_REGEX","formatMessage","useIntl","dispatch","useDispatch","email","setEmail","useState","emailError","setEmailError","hasCompletedRef","useRef","submitState","useSelector","state","emailCheck","redirectTo","checkedEmail","errorCode","errorMessage","useEffect","current","validateEmail","emailValue","messages","emailRegex","RegExp","test","handleSubmit","preventDefault","error","checkEmailRequest","handleOnChange","value","target","handleOnFocus","jsx","children","id","className","jsxs","Alert","variant","icon","Info","Form","name","type","autoComplete","handleChange","handleFocus","floatingLabel","StatefulButton","labels","pending","onClick","onMouseDown","propTypes","PropTypes","func","isRequired","elementType","string","_default","exports"],"sources":["../../src/EmailCheckWidget/EmailCheckWidget.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Alert, Form, StatefulButton } from '@openedx/paragon';\nimport { Info } from '@openedx/paragon/icons';\nimport PropTypes from 'prop-types';\n\nimport { checkEmailRequest } from './data/actions';\nimport messages from './messages';\n\nconst EmailCheckWidget = ({\n onEmailCheckComplete,\n BaseContainer,\n FormGroup,\n VALID_EMAIL_REGEX,\n}) => {\n const { formatMessage } = useIntl();\n const dispatch = useDispatch();\n\n const [email, setEmail] = useState('');\n const [emailError, setEmailError] = useState('');\n const hasCompletedRef = useRef(false);\n\n const submitState = useSelector(state => state.emailCheck?.submitState || 'default');\n const redirectTo = useSelector(state => state.emailCheck?.redirectTo);\n const checkedEmail = useSelector(state => state.emailCheck?.email);\n const errorCode = useSelector(state => state.emailCheck?.errorCode);\n const errorMessage = useSelector(state => state.emailCheck?.errorMessage);\n\n useEffect(() => {\n if (redirectTo && checkedEmail && !hasCompletedRef.current) {\n hasCompletedRef.current = true;\n onEmailCheckComplete(redirectTo, checkedEmail, errorCode);\n }\n }, [redirectTo, checkedEmail, errorCode, onEmailCheckComplete]);\n\n const validateEmail = (emailValue) => {\n if (!emailValue) {\n return formatMessage(messages['email.validation.message']);\n }\n\n const emailRegex = new RegExp(VALID_EMAIL_REGEX, 'i');\n if (!emailRegex.test(emailValue)) {\n return formatMessage(messages['email.format.validation.message']);\n }\n\n return '';\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n\n const error = validateEmail(email);\n if (error) {\n setEmailError(error);\n return;\n }\n\n dispatch(checkEmailRequest(email));\n };\n\n const handleOnChange = (e) => {\n const { value } = e.target;\n setEmail(value);\n if (emailError) {\n setEmailError('');\n }\n };\n\n const handleOnFocus = () => {\n if (emailError) {\n setEmailError('');\n }\n };\n\n return (\n <BaseContainer>\n <div id=\"main-content\" className=\"main-content\">\n <div className=\"mw-xs mt-3\">\n <h3 className=\"mb-3\">{formatMessage(messages['email.check.heading'])}</h3>\n <p className=\"mb-4 text-gray-700\">{formatMessage(messages['email.check.subheading'])}</p>\n\n {errorMessage && (\n <Alert variant=\"danger\" icon={Info} className=\"mb-3\">\n {errorMessage}\n </Alert>\n )}\n\n <Form id=\"email-check-form\" name=\"email-check-form\">\n <FormGroup\n name=\"email\"\n value={email}\n type=\"email\"\n autoComplete=\"email\"\n handleChange={handleOnChange}\n handleFocus={handleOnFocus}\n errorMessage={emailError}\n floatingLabel=\"Email\"\n />\n <StatefulButton\n id=\"continue-btn\"\n name=\"continue-btn\"\n type=\"submit\"\n variant=\"brand\"\n className=\"login-button-width mt-3\"\n state={submitState}\n labels={{\n default: formatMessage(messages['email.check.button']),\n pending: '',\n }}\n onClick={handleSubmit}\n onMouseDown={(e) => e.preventDefault()}\n />\n </Form>\n </div>\n </div>\n </BaseContainer>\n );\n};\n\nEmailCheckWidget.propTypes = {\n onEmailCheckComplete: PropTypes.func.isRequired,\n BaseContainer: PropTypes.elementType.isRequired,\n FormGroup: PropTypes.elementType.isRequired,\n VALID_EMAIL_REGEX: PropTypes.string.isRequired,\n};\n\nexport default EmailCheckWidget;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.emailCheckComplete = exports.checkEmailSuccess = exports.checkEmailRequest = exports.checkEmailFailure = void 0;
|
|
7
|
+
var _constants = require("./constants");
|
|
8
|
+
const checkEmailRequest = email => ({
|
|
9
|
+
type: _constants.EMAIL_CHECK_REQUEST,
|
|
10
|
+
payload: {
|
|
11
|
+
email
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
exports.checkEmailRequest = checkEmailRequest;
|
|
15
|
+
const checkEmailSuccess = (redirectTo, email, errorCode = null, context = {}) => ({
|
|
16
|
+
type: _constants.EMAIL_CHECK_SUCCESS,
|
|
17
|
+
payload: {
|
|
18
|
+
redirectTo,
|
|
19
|
+
email,
|
|
20
|
+
errorCode,
|
|
21
|
+
context
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
exports.checkEmailSuccess = checkEmailSuccess;
|
|
25
|
+
const checkEmailFailure = errorMessage => ({
|
|
26
|
+
type: _constants.EMAIL_CHECK_FAILURE,
|
|
27
|
+
payload: {
|
|
28
|
+
errorMessage
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
exports.checkEmailFailure = checkEmailFailure;
|
|
32
|
+
const emailCheckComplete = (email, errorCode = null) => ({
|
|
33
|
+
type: _constants.EMAIL_CHECK_COMPLETE,
|
|
34
|
+
payload: {
|
|
35
|
+
email,
|
|
36
|
+
errorCode
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
exports.emailCheckComplete = emailCheckComplete;
|
|
40
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","names":["_constants","require","checkEmailRequest","email","type","EMAIL_CHECK_REQUEST","payload","exports","checkEmailSuccess","redirectTo","errorCode","context","EMAIL_CHECK_SUCCESS","checkEmailFailure","errorMessage","EMAIL_CHECK_FAILURE","emailCheckComplete","EMAIL_CHECK_COMPLETE"],"sources":["../../../src/EmailCheckWidget/data/actions.js"],"sourcesContent":["import {\n EMAIL_CHECK_COMPLETE,\n EMAIL_CHECK_FAILURE,\n EMAIL_CHECK_REQUEST,\n EMAIL_CHECK_SUCCESS,\n} from './constants';\n\nexport const checkEmailRequest = email => ({\n type: EMAIL_CHECK_REQUEST,\n payload: { email },\n});\n\nexport const checkEmailSuccess = (redirectTo, email, errorCode = null, context = {}) => ({\n type: EMAIL_CHECK_SUCCESS,\n payload: {\n redirectTo, email, errorCode, context,\n },\n});\n\nexport const checkEmailFailure = errorMessage => ({\n type: EMAIL_CHECK_FAILURE,\n payload: { errorMessage },\n});\n\nexport const emailCheckComplete = (email, errorCode = null) => ({\n type: EMAIL_CHECK_COMPLETE,\n payload: { email, errorCode },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOO,MAAMC,iBAAiB,GAAGC,KAAK,KAAK;EACzCC,IAAI,EAAEC,8BAAmB;EACzBC,OAAO,EAAE;IAAEH;EAAM;AACnB,CAAC,CAAC;AAACI,OAAA,CAAAL,iBAAA,GAAAA,iBAAA;AAEI,MAAMM,iBAAiB,GAAGA,CAACC,UAAU,EAAEN,KAAK,EAAEO,SAAS,GAAG,IAAI,EAAEC,OAAO,GAAG,CAAC,CAAC,MAAM;EACvFP,IAAI,EAAEQ,8BAAmB;EACzBN,OAAO,EAAE;IACPG,UAAU;IAAEN,KAAK;IAAEO,SAAS;IAAEC;EAChC;AACF,CAAC,CAAC;AAACJ,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAEI,MAAMK,iBAAiB,GAAGC,YAAY,KAAK;EAChDV,IAAI,EAAEW,8BAAmB;EACzBT,OAAO,EAAE;IAAEQ;EAAa;AAC1B,CAAC,CAAC;AAACP,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;AAEI,MAAMG,kBAAkB,GAAGA,CAACb,KAAK,EAAEO,SAAS,GAAG,IAAI,MAAM;EAC9DN,IAAI,EAAEa,+BAAoB;EAC1BX,OAAO,EAAE;IAAEH,KAAK;IAAEO;EAAU;AAC9B,CAAC,CAAC;AAACH,OAAA,CAAAS,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.REGISTRATION_REQUIRED_FOR_CURRENT_TENANT = exports.EMAIL_REGISTERED_DIFFERENT_ORG = exports.EMAIL_CHECK_SUCCESS = exports.EMAIL_CHECK_STORE_NAME = exports.EMAIL_CHECK_REQUEST = exports.EMAIL_CHECK_FAILURE = exports.EMAIL_CHECK_COMPLETE = exports.CROSS_TENANT_LOGIN = void 0;
|
|
7
|
+
// Action types
|
|
8
|
+
const EMAIL_CHECK_REQUEST = exports.EMAIL_CHECK_REQUEST = 'EMAIL_CHECK_REQUEST';
|
|
9
|
+
const EMAIL_CHECK_SUCCESS = exports.EMAIL_CHECK_SUCCESS = 'EMAIL_CHECK_SUCCESS';
|
|
10
|
+
const EMAIL_CHECK_FAILURE = exports.EMAIL_CHECK_FAILURE = 'EMAIL_CHECK_FAILURE';
|
|
11
|
+
const EMAIL_CHECK_COMPLETE = exports.EMAIL_CHECK_COMPLETE = 'EMAIL_CHECK_COMPLETE';
|
|
12
|
+
|
|
13
|
+
// Store name
|
|
14
|
+
const EMAIL_CHECK_STORE_NAME = exports.EMAIL_CHECK_STORE_NAME = 'emailCheck';
|
|
15
|
+
|
|
16
|
+
// Error codes from backend
|
|
17
|
+
const EMAIL_REGISTERED_DIFFERENT_ORG = exports.EMAIL_REGISTERED_DIFFERENT_ORG = 'email_registered_different_org';
|
|
18
|
+
const CROSS_TENANT_LOGIN = exports.CROSS_TENANT_LOGIN = 'cross_tenant_login';
|
|
19
|
+
const REGISTRATION_REQUIRED_FOR_CURRENT_TENANT = exports.REGISTRATION_REQUIRED_FOR_CURRENT_TENANT = 'registration_required_for_current_tenant';
|
|
20
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["EMAIL_CHECK_REQUEST","exports","EMAIL_CHECK_SUCCESS","EMAIL_CHECK_FAILURE","EMAIL_CHECK_COMPLETE","EMAIL_CHECK_STORE_NAME","EMAIL_REGISTERED_DIFFERENT_ORG","CROSS_TENANT_LOGIN","REGISTRATION_REQUIRED_FOR_CURRENT_TENANT"],"sources":["../../../src/EmailCheckWidget/data/constants.js"],"sourcesContent":["// Action types\nexport const EMAIL_CHECK_REQUEST = 'EMAIL_CHECK_REQUEST';\nexport const EMAIL_CHECK_SUCCESS = 'EMAIL_CHECK_SUCCESS';\nexport const EMAIL_CHECK_FAILURE = 'EMAIL_CHECK_FAILURE';\nexport const EMAIL_CHECK_COMPLETE = 'EMAIL_CHECK_COMPLETE';\n\n// Store name\nexport const EMAIL_CHECK_STORE_NAME = 'emailCheck';\n\n// Error codes from backend\nexport const EMAIL_REGISTERED_DIFFERENT_ORG = 'email_registered_different_org';\nexport const CROSS_TENANT_LOGIN = 'cross_tenant_login';\nexport const REGISTRATION_REQUIRED_FOR_CURRENT_TENANT = 'registration_required_for_current_tenant';\n"],"mappings":";;;;;;AAAA;AACO,MAAMA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,qBAAqB;AACjD,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,qBAAqB;AACjD,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAG,qBAAqB;AACjD,MAAMC,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAG,sBAAsB;;AAE1D;AACO,MAAMC,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,GAAG,YAAY;;AAElD;AACO,MAAMC,8BAA8B,GAAAL,OAAA,CAAAK,8BAAA,GAAG,gCAAgC;AACvE,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,oBAAoB;AAC/C,MAAMC,wCAAwC,GAAAP,OAAA,CAAAO,wCAAA,GAAG,0CAA0C","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
reducer: true,
|
|
8
|
+
saga: true,
|
|
9
|
+
storeName: true
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "reducer", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () {
|
|
14
|
+
return _reducers.default;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "saga", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return _sagas.default;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "storeName", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return _constants.EMAIL_CHECK_STORE_NAME;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var _reducers = _interopRequireDefault(require("./reducers"));
|
|
30
|
+
var _sagas = _interopRequireDefault(require("./sagas"));
|
|
31
|
+
var _constants = require("./constants");
|
|
32
|
+
Object.keys(_constants).forEach(function (key) {
|
|
33
|
+
if (key === "default" || key === "__esModule") return;
|
|
34
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
35
|
+
if (key in exports && exports[key] === _constants[key]) return;
|
|
36
|
+
Object.defineProperty(exports, key, {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _constants[key];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
var _actions = require("./actions");
|
|
44
|
+
Object.keys(_actions).forEach(function (key) {
|
|
45
|
+
if (key === "default" || key === "__esModule") return;
|
|
46
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
47
|
+
if (key in exports && exports[key] === _actions[key]) return;
|
|
48
|
+
Object.defineProperty(exports, key, {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _actions[key];
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_reducers","_interopRequireDefault","require","_sagas","_constants","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_actions","e","__esModule","default"],"sources":["../../../src/EmailCheckWidget/data/index.js"],"sourcesContent":["export { default as reducer } from './reducers';\nexport { default as saga } from './sagas';\nexport { EMAIL_CHECK_STORE_NAME as storeName } from './constants';\nexport * from './actions';\nexport * from './constants';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEAG,MAAA,CAAAC,IAAA,CAAAF,UAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,UAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,UAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AADA,IAAAS,QAAA,GAAAf,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAA0B,SAAAP,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _constants = require("./constants");
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
+
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); }
|
|
13
|
+
const DEFAULT_STATE = 'default';
|
|
14
|
+
const PENDING_STATE = 'pending';
|
|
15
|
+
const initialState = {
|
|
16
|
+
email: '',
|
|
17
|
+
redirectTo: null,
|
|
18
|
+
message: null,
|
|
19
|
+
errorMessage: null,
|
|
20
|
+
submitState: DEFAULT_STATE,
|
|
21
|
+
showEmailCheck: true,
|
|
22
|
+
prefilledEmail: '',
|
|
23
|
+
errorCode: null,
|
|
24
|
+
context: {}
|
|
25
|
+
};
|
|
26
|
+
const emailCheckReducer = (state = initialState, action = {}) => {
|
|
27
|
+
switch (action.type) {
|
|
28
|
+
case _constants.EMAIL_CHECK_REQUEST:
|
|
29
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
30
|
+
email: action.payload.email,
|
|
31
|
+
submitState: PENDING_STATE,
|
|
32
|
+
errorMessage: null,
|
|
33
|
+
message: null
|
|
34
|
+
});
|
|
35
|
+
case _constants.EMAIL_CHECK_SUCCESS:
|
|
36
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
37
|
+
redirectTo: action.payload.redirectTo,
|
|
38
|
+
email: action.payload.email,
|
|
39
|
+
errorCode: action.payload.errorCode,
|
|
40
|
+
context: action.payload.context || {},
|
|
41
|
+
submitState: DEFAULT_STATE,
|
|
42
|
+
errorMessage: null
|
|
43
|
+
});
|
|
44
|
+
case _constants.EMAIL_CHECK_FAILURE:
|
|
45
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
46
|
+
errorMessage: action.payload.errorMessage,
|
|
47
|
+
submitState: DEFAULT_STATE,
|
|
48
|
+
redirectTo: null,
|
|
49
|
+
message: null
|
|
50
|
+
});
|
|
51
|
+
case _constants.EMAIL_CHECK_COMPLETE:
|
|
52
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
53
|
+
showEmailCheck: false,
|
|
54
|
+
prefilledEmail: action.payload.email,
|
|
55
|
+
errorCode: action.payload.errorCode
|
|
56
|
+
});
|
|
57
|
+
default:
|
|
58
|
+
return state;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var _default = exports.default = emailCheckReducer;
|
|
62
|
+
//# sourceMappingURL=reducers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducers.js","names":["_constants","require","ownKeys","e","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","DEFAULT_STATE","PENDING_STATE","initialState","email","redirectTo","message","errorMessage","submitState","showEmailCheck","prefilledEmail","errorCode","context","emailCheckReducer","state","action","type","EMAIL_CHECK_REQUEST","payload","EMAIL_CHECK_SUCCESS","EMAIL_CHECK_FAILURE","EMAIL_CHECK_COMPLETE","_default","exports","default"],"sources":["../../../src/EmailCheckWidget/data/reducers.js"],"sourcesContent":["import {\n EMAIL_CHECK_COMPLETE,\n EMAIL_CHECK_FAILURE,\n EMAIL_CHECK_REQUEST,\n EMAIL_CHECK_SUCCESS,\n} from './constants';\n\nconst DEFAULT_STATE = 'default';\nconst PENDING_STATE = 'pending';\n\nconst initialState = {\n email: '',\n redirectTo: null,\n message: null,\n errorMessage: null,\n submitState: DEFAULT_STATE,\n showEmailCheck: true,\n prefilledEmail: '',\n errorCode: null,\n context: {},\n};\n\nconst emailCheckReducer = (state = initialState, action = {}) => {\n switch (action.type) {\n case EMAIL_CHECK_REQUEST:\n return {\n ...state,\n email: action.payload.email,\n submitState: PENDING_STATE,\n errorMessage: null,\n message: null,\n };\n case EMAIL_CHECK_SUCCESS:\n return {\n ...state,\n redirectTo: action.payload.redirectTo,\n email: action.payload.email,\n errorCode: action.payload.errorCode,\n context: action.payload.context || {},\n submitState: DEFAULT_STATE,\n errorMessage: null,\n };\n case EMAIL_CHECK_FAILURE:\n return {\n ...state,\n errorMessage: action.payload.errorMessage,\n submitState: DEFAULT_STATE,\n redirectTo: null,\n message: null,\n };\n case EMAIL_CHECK_COMPLETE:\n return {\n ...state,\n showEmailCheck: false,\n prefilledEmail: action.payload.email,\n errorCode: action.payload.errorCode,\n };\n default:\n return state;\n }\n};\n\nexport default emailCheckReducer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = emailCheckSaga;
|
|
7
|
+
exports.handleEmailCheck = handleEmailCheck;
|
|
8
|
+
exports.watchEmailCheck = watchEmailCheck;
|
|
9
|
+
var _effects = require("redux-saga/effects");
|
|
10
|
+
var _actions = require("./actions");
|
|
11
|
+
var _constants = require("./constants");
|
|
12
|
+
var _service = require("./service");
|
|
13
|
+
function* handleEmailCheck(action) {
|
|
14
|
+
try {
|
|
15
|
+
const {
|
|
16
|
+
email
|
|
17
|
+
} = action.payload;
|
|
18
|
+
const result = yield (0, _effects.call)(_service.checkEmailExists, email);
|
|
19
|
+
yield (0, _effects.put)((0, _actions.checkEmailSuccess)(result.redirectTo, email, result.errorCode, result.context));
|
|
20
|
+
} catch (error) {
|
|
21
|
+
const errorMessage = error?.response?.data?.error || 'An error occurred. Please try again.';
|
|
22
|
+
yield (0, _effects.put)((0, _actions.checkEmailFailure)(errorMessage));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function* watchEmailCheck() {
|
|
26
|
+
yield (0, _effects.takeEvery)(_constants.EMAIL_CHECK_REQUEST, handleEmailCheck);
|
|
27
|
+
}
|
|
28
|
+
function* emailCheckSaga() {
|
|
29
|
+
yield watchEmailCheck();
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sagas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sagas.js","names":["_effects","require","_actions","_constants","_service","handleEmailCheck","action","email","payload","result","call","checkEmailExists","put","checkEmailSuccess","redirectTo","errorCode","context","error","errorMessage","response","data","checkEmailFailure","watchEmailCheck","takeEvery","EMAIL_CHECK_REQUEST","emailCheckSaga"],"sources":["../../../src/EmailCheckWidget/data/sagas.js"],"sourcesContent":["import { call, put, takeEvery } from 'redux-saga/effects';\n\nimport { checkEmailFailure, checkEmailSuccess } from './actions';\nimport { EMAIL_CHECK_REQUEST } from './constants';\nimport { checkEmailExists } from './service';\n\nexport function* handleEmailCheck(action) {\n try {\n const { email } = action.payload;\n const result = yield call(checkEmailExists, email);\n yield put(checkEmailSuccess(result.redirectTo, email, result.errorCode, result.context));\n } catch (error) {\n const errorMessage = error?.response?.data?.error\n || 'An error occurred. Please try again.';\n yield put(checkEmailFailure(errorMessage));\n }\n}\n\nexport function* watchEmailCheck() {\n yield takeEvery(EMAIL_CHECK_REQUEST, handleEmailCheck);\n}\n\nexport default function* emailCheckSaga() {\n yield watchEmailCheck();\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEO,UAAUI,gBAAgBA,CAACC,MAAM,EAAE;EACxC,IAAI;IACF,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM,CAACE,OAAO;IAChC,MAAMC,MAAM,GAAG,MAAM,IAAAC,aAAI,EAACC,yBAAgB,EAAEJ,KAAK,CAAC;IAClD,MAAM,IAAAK,YAAG,EAAC,IAAAC,0BAAiB,EAACJ,MAAM,CAACK,UAAU,EAAEP,KAAK,EAAEE,MAAM,CAACM,SAAS,EAAEN,MAAM,CAACO,OAAO,CAAC,CAAC;EAC1F,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,MAAMC,YAAY,GAAGD,KAAK,EAAEE,QAAQ,EAAEC,IAAI,EAAEH,KAAK,IAC5C,sCAAsC;IAC3C,MAAM,IAAAL,YAAG,EAAC,IAAAS,0BAAiB,EAACH,YAAY,CAAC,CAAC;EAC5C;AACF;AAEO,UAAUI,eAAeA,CAAA,EAAG;EACjC,MAAM,IAAAC,kBAAS,EAACC,8BAAmB,EAAEnB,gBAAgB,CAAC;AACxD;AAEe,UAAUoB,cAAcA,CAAA,EAAG;EACxC,MAAMH,eAAe,CAAC,CAAC;AACzB","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkEmailExists = checkEmailExists;
|
|
7
|
+
var _frontendPlatform = require("@edx/frontend-platform");
|
|
8
|
+
var _auth = require("@edx/frontend-platform/auth");
|
|
9
|
+
async function checkEmailExists(email) {
|
|
10
|
+
const requestConfig = {
|
|
11
|
+
headers: {
|
|
12
|
+
'Content-Type': 'application/json'
|
|
13
|
+
},
|
|
14
|
+
isPublic: true
|
|
15
|
+
};
|
|
16
|
+
const {
|
|
17
|
+
data
|
|
18
|
+
} = await (0, _auth.getAuthenticatedHttpClient)().post(`${(0, _frontendPlatform.getConfig)().LMS_BASE_URL}/api/v1/user/validate-email/`, {
|
|
19
|
+
email
|
|
20
|
+
}, requestConfig).catch(error => {
|
|
21
|
+
throw error;
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
redirectTo: data.redirect_to,
|
|
25
|
+
errorCode: data.error_code || null,
|
|
26
|
+
context: data.context || {}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","names":["_frontendPlatform","require","_auth","checkEmailExists","email","requestConfig","headers","isPublic","data","getAuthenticatedHttpClient","post","getConfig","LMS_BASE_URL","catch","error","redirectTo","redirect_to","errorCode","error_code","context"],"sources":["../../../src/EmailCheckWidget/data/service.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nexport async function checkEmailExists(email) {\n const requestConfig = {\n headers: { 'Content-Type': 'application/json' },\n isPublic: true,\n };\n\n const { data } = await getAuthenticatedHttpClient()\n .post(\n `${getConfig().LMS_BASE_URL}/api/v1/user/validate-email/`,\n { email },\n requestConfig,\n )\n .catch((error) => {\n throw error;\n });\n\n return {\n redirectTo: data.redirect_to,\n errorCode: data.error_code || null,\n context: data.context || {},\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEO,eAAeE,gBAAgBA,CAACC,KAAK,EAAE;EAC5C,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAE;MAAE,cAAc,EAAE;IAAmB,CAAC;IAC/CC,QAAQ,EAAE;EACZ,CAAC;EAED,MAAM;IAAEC;EAAK,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAChDC,IAAI,CACH,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,YAAY,8BAA8B,EACzD;IAAER;EAAM,CAAC,EACTC,aACF,CAAC,CACAQ,KAAK,CAAEC,KAAK,IAAK;IAChB,MAAMA,KAAK;EACb,CAAC,CAAC;EAEJ,OAAO;IACLC,UAAU,EAAEP,IAAI,CAACQ,WAAW;IAC5BC,SAAS,EAAET,IAAI,CAACU,UAAU,IAAI,IAAI;IAClCC,OAAO,EAAEX,IAAI,CAACW,OAAO,IAAI,CAAC;EAC5B,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "EmailCheckWidget", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _EmailCheckWidget.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "emailCheckComplete", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _actions.emailCheckComplete;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "reducer", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _reducers.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "saga", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _sagas.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
exports.storeName = void 0;
|
|
31
|
+
var _EmailCheckWidget = _interopRequireDefault(require("./EmailCheckWidget"));
|
|
32
|
+
var _reducers = _interopRequireDefault(require("./data/reducers"));
|
|
33
|
+
var _sagas = _interopRequireDefault(require("./data/sagas"));
|
|
34
|
+
var _actions = require("./data/actions");
|
|
35
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
36
|
+
const storeName = exports.storeName = 'emailCheck';
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_EmailCheckWidget","_interopRequireDefault","require","_reducers","_sagas","_actions","e","__esModule","default","storeName","exports"],"sources":["../../src/EmailCheckWidget/index.js"],"sourcesContent":["export const storeName = 'emailCheck';\n\nexport { default as EmailCheckWidget } from './EmailCheckWidget';\nexport { default as reducer } from './data/reducers';\nexport { default as saga } from './data/sagas';\nexport { emailCheckComplete } from './data/actions';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAoD,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL7C,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
'email.check.heading': {
|
|
10
|
+
id: 'email.check.heading',
|
|
11
|
+
defaultMessage: 'Welcome! Let\'s get started',
|
|
12
|
+
description: 'Heading for email check page'
|
|
13
|
+
},
|
|
14
|
+
'email.check.subheading': {
|
|
15
|
+
id: 'email.check.subheading',
|
|
16
|
+
defaultMessage: 'Enter your email address to continue',
|
|
17
|
+
description: 'Subheading for email check page'
|
|
18
|
+
},
|
|
19
|
+
'email.check.button': {
|
|
20
|
+
id: 'email.check.button',
|
|
21
|
+
defaultMessage: 'Continue',
|
|
22
|
+
description: 'Button text for email check form'
|
|
23
|
+
},
|
|
24
|
+
'email.validation.message': {
|
|
25
|
+
id: 'email.validation.message',
|
|
26
|
+
defaultMessage: 'Please enter your email',
|
|
27
|
+
description: 'Error message when email field is empty'
|
|
28
|
+
},
|
|
29
|
+
'email.format.validation.message': {
|
|
30
|
+
id: 'email.format.validation.message',
|
|
31
|
+
defaultMessage: 'Please enter a valid email address',
|
|
32
|
+
description: 'Error message when email format is invalid'
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var _default = exports.default = messages;
|
|
36
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","id","defaultMessage","description","_default","exports","default"],"sources":["../../src/EmailCheckWidget/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'email.check.heading': {\n id: 'email.check.heading',\n defaultMessage: 'Welcome! Let\\'s get started',\n description: 'Heading for email check page',\n },\n 'email.check.subheading': {\n id: 'email.check.subheading',\n defaultMessage: 'Enter your email address to continue',\n description: 'Subheading for email check page',\n },\n 'email.check.button': {\n id: 'email.check.button',\n defaultMessage: 'Continue',\n description: 'Button text for email check form',\n },\n 'email.validation.message': {\n id: 'email.validation.message',\n defaultMessage: 'Please enter your email',\n description: 'Error message when email field is empty',\n },\n 'email.format.validation.message': {\n id: 'email.format.validation.message',\n defaultMessage: 'Please enter a valid email address',\n description: 'Error message when email format is invalid',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9B,qBAAqB,EAAE;IACrBC,EAAE,EAAE,qBAAqB;IACzBC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD,wBAAwB,EAAE;IACxBF,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,sCAAsC;IACtDC,WAAW,EAAE;EACf,CAAC;EACD,oBAAoB,EAAE;IACpBF,EAAE,EAAE,oBAAoB;IACxBC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACD,0BAA0B,EAAE;IAC1BF,EAAE,EAAE,0BAA0B;IAC9BC,cAAc,EAAE,yBAAyB;IACzCC,WAAW,EAAE;EACf,CAAC;EACD,iCAAiC,EAAE;IACjCF,EAAE,EAAE,iCAAiC;IACrCC,cAAc,EAAE,oCAAoC;IACpDC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYP,QAAQ","ignoreList":[]}
|
|
@@ -12,54 +12,54 @@ require("./main.scss");
|
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const FooterWidget = () => {
|
|
15
|
-
const [footerData, setFooterData] = (0, _react.useState)(
|
|
15
|
+
const [footerData, setFooterData] = (0, _react.useState)('');
|
|
16
16
|
const config = (0, _frontendPlatform.getConfig)();
|
|
17
17
|
(0, _react.useEffect)(() => {
|
|
18
|
-
document.documentElement.style.setProperty(
|
|
19
|
-
const scrollBtn = document.getElementById(
|
|
18
|
+
document.documentElement.style.setProperty('--primary-color', config?.COLORS?.primary || '#de2025');
|
|
19
|
+
const scrollBtn = document.getElementById('scrollToTop');
|
|
20
20
|
if (scrollBtn) {
|
|
21
21
|
const scrollToTop = () => {
|
|
22
22
|
window.scrollTo({
|
|
23
23
|
top: 0,
|
|
24
|
-
behavior:
|
|
24
|
+
behavior: 'smooth'
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
27
|
const toggleVisibility = () => {
|
|
28
28
|
if (window.scrollY > 300) {
|
|
29
|
-
scrollBtn.classList.add(
|
|
29
|
+
scrollBtn.classList.add('show-btn'); // We will style this class in SCSS
|
|
30
30
|
} else {
|
|
31
|
-
scrollBtn.classList.remove(
|
|
31
|
+
scrollBtn.classList.remove('show-btn');
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
|
-
scrollBtn.addEventListener(
|
|
35
|
-
window.addEventListener(
|
|
34
|
+
scrollBtn.addEventListener('click', scrollToTop);
|
|
35
|
+
window.addEventListener('scroll', toggleVisibility);
|
|
36
36
|
return () => {
|
|
37
|
-
scrollBtn.removeEventListener(
|
|
38
|
-
window.removeEventListener(
|
|
37
|
+
scrollBtn.removeEventListener('click', scrollToTop);
|
|
38
|
+
window.removeEventListener('scroll', toggleVisibility);
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
return () => {
|
|
42
|
-
document.documentElement.style.removeProperty(
|
|
42
|
+
document.documentElement.style.removeProperty('--primary-color');
|
|
43
43
|
};
|
|
44
44
|
}, [config?.COLORS?.primary, footerData]);
|
|
45
45
|
(0, _react.useEffect)(() => {
|
|
46
46
|
const fetchData = async () => {
|
|
47
47
|
if (!config?.MARKETING_SITE_BASE_URL) {
|
|
48
|
-
console.error(
|
|
48
|
+
console.error('No url found for discovery', config);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
try {
|
|
52
52
|
const response = await fetch(`${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/footer`,
|
|
53
53
|
// `https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/footer`,
|
|
54
54
|
{
|
|
55
|
-
credentials:
|
|
55
|
+
credentials: 'include'
|
|
56
56
|
});
|
|
57
57
|
if (!response.ok) {
|
|
58
58
|
throw new Error(`HTTP error! status: ${response.status}`);
|
|
59
59
|
}
|
|
60
60
|
const jsonData = await response.json();
|
|
61
61
|
const cleanHtml = _dompurify.default.sanitize(jsonData, {
|
|
62
|
-
ADD_ATTR: [
|
|
62
|
+
ADD_ATTR: ['target', 'class']
|
|
63
63
|
});
|
|
64
64
|
setFooterData(cleanHtml);
|
|
65
65
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_reactHelmet","_jsxRuntime","e","__esModule","default","FooterWidget","footerData","setFooterData","useState","config","getConfig","useEffect","document","documentElement","style","setProperty","COLORS","primary","scrollBtn","getElementById","scrollToTop","window","scrollTo","top","behavior","toggleVisibility","scrollY","classList","add","remove","addEventListener","removeEventListener","removeProperty","fetchData","MARKETING_SITE_BASE_URL","console","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","jsxs","Fragment","children","jsx","Helmet","rel","href","crossOrigin","className","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/FooterWidget/index.jsx"],"sourcesContent":["import { getConfig } from
|
|
1
|
+
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_reactHelmet","_jsxRuntime","e","__esModule","default","FooterWidget","footerData","setFooterData","useState","config","getConfig","useEffect","document","documentElement","style","setProperty","COLORS","primary","scrollBtn","getElementById","scrollToTop","window","scrollTo","top","behavior","toggleVisibility","scrollY","classList","add","remove","addEventListener","removeEventListener","removeProperty","fetchData","MARKETING_SITE_BASE_URL","console","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","jsxs","Fragment","children","jsx","Helmet","rel","href","crossOrigin","className","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/FooterWidget/index.jsx"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { useEffect, useState } from 'react';\nimport DOMPurify from 'dompurify';\nimport { Helmet } from 'react-helmet';\nimport './main.scss';\n\nconst FooterWidget = () => {\n const [footerData, setFooterData] = useState('');\n const config = getConfig();\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n '--primary-color',\n config?.COLORS?.primary || '#de2025',\n );\n const scrollBtn = document.getElementById('scrollToTop');\n if (scrollBtn) {\n const scrollToTop = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n };\n\n const toggleVisibility = () => {\n if (window.scrollY > 300) {\n scrollBtn.classList.add('show-btn'); // We will style this class in SCSS\n } else {\n scrollBtn.classList.remove('show-btn');\n }\n };\n\n scrollBtn.addEventListener('click', scrollToTop);\n window.addEventListener('scroll', toggleVisibility);\n\n return () => {\n scrollBtn.removeEventListener('click', scrollToTop);\n window.removeEventListener('scroll', toggleVisibility);\n };\n }\n return () => {\n document.documentElement.style.removeProperty('--primary-color');\n };\n }, [config?.COLORS?.primary, footerData]);\n\n useEffect(() => {\n const fetchData = async () => {\n if (!config?.MARKETING_SITE_BASE_URL) {\n console.error('No url found for discovery', config);\n return;\n }\n try {\n const response = await fetch(\n `${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/footer`,\n // `https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/footer`,\n { credentials: 'include' },\n );\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const jsonData = await response.json();\n const cleanHtml = DOMPurify.sanitize(jsonData, {\n ADD_ATTR: ['target', 'class'],\n });\n setFooterData(cleanHtml);\n } catch (error) {\n console.error(error);\n }\n };\n\n fetchData();\n }, []);\n\n return (\n <>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css\"\n crossOrigin=\"anonymous\"\n />\n </Helmet>\n <footer\n className=\"site-header\"\n dangerouslySetInnerHTML={{ __html: footerData }}\n />\n </>\n );\n};\n\nexport default FooterWidget;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,49 +11,49 @@ require("./main.scss");
|
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const HeaderWidget = () => {
|
|
14
|
-
const [headerData, setHeaderData] = (0, _react.useState)(
|
|
14
|
+
const [headerData, setHeaderData] = (0, _react.useState)('');
|
|
15
15
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
16
16
|
const WIDTH = 1230;
|
|
17
17
|
const [isMobile, setIsMobile] = (0, _react.useState)(window.innerWidth < WIDTH);
|
|
18
18
|
const config = (0, _frontendPlatform.getConfig)();
|
|
19
19
|
(0, _react.useEffect)(() => {
|
|
20
|
-
console.log(
|
|
21
|
-
document.documentElement.style.setProperty(
|
|
20
|
+
console.log('color: ', config.COLORS);
|
|
21
|
+
document.documentElement.style.setProperty('--primary-color', config?.COLORS?.primary || '#de2025');
|
|
22
22
|
const handleResize = () => {
|
|
23
23
|
setIsMobile(window.innerWidth < WIDTH);
|
|
24
24
|
if (window.innerWidth >= WIDTH) {
|
|
25
25
|
setIsOpen(false);
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
window.addEventListener(
|
|
28
|
+
window.addEventListener('resize', handleResize);
|
|
29
29
|
return () => {
|
|
30
|
-
window.removeEventListener(
|
|
31
|
-
document.documentElement.style.removeProperty(
|
|
30
|
+
window.removeEventListener('resize', handleResize);
|
|
31
|
+
document.documentElement.style.removeProperty('--primary-color');
|
|
32
32
|
};
|
|
33
33
|
}, [config?.COLORS]);
|
|
34
34
|
(0, _react.useEffect)(() => {
|
|
35
35
|
const fetchData = async () => {
|
|
36
36
|
if (!config?.MARKETING_SITE_BASE_URL) {
|
|
37
|
-
console.error(
|
|
37
|
+
console.error('No url found for discovery', config);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
try {
|
|
41
41
|
const response = await fetch(`${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/nav-menu`,
|
|
42
42
|
// "https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/nav-menu",
|
|
43
43
|
{
|
|
44
|
-
credentials:
|
|
44
|
+
credentials: 'include'
|
|
45
45
|
});
|
|
46
46
|
if (!response.ok) {
|
|
47
47
|
throw new Error(`HTTP error! status: ${response.status}`);
|
|
48
48
|
}
|
|
49
49
|
const jsonData = await response.json();
|
|
50
|
-
if (typeof jsonData ===
|
|
50
|
+
if (typeof jsonData === 'object') {
|
|
51
51
|
const cleanHtml = _dompurify.default.sanitize(jsonData.primary, {
|
|
52
|
-
ADD_ATTR: [
|
|
52
|
+
ADD_ATTR: ['target', 'class']
|
|
53
53
|
});
|
|
54
54
|
setHeaderData(cleanHtml);
|
|
55
55
|
} else {
|
|
56
|
-
console.error(
|
|
56
|
+
console.error('Data object is not json');
|
|
57
57
|
}
|
|
58
58
|
} catch (error) {
|
|
59
59
|
console.error(error);
|
|
@@ -65,20 +65,20 @@ const HeaderWidget = () => {
|
|
|
65
65
|
setIsOpen(!isOpen);
|
|
66
66
|
};
|
|
67
67
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
68
|
-
className: `shadow-sm ${isMobile ?
|
|
68
|
+
className: `shadow-sm ${isMobile ? 'header-frame' : ''}`,
|
|
69
69
|
children: [isMobile && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
70
70
|
className: "menuOpner",
|
|
71
71
|
type: "button",
|
|
72
72
|
onClick: toggleMenu,
|
|
73
73
|
style: {
|
|
74
|
-
background:
|
|
75
|
-
border:
|
|
76
|
-
cursor:
|
|
77
|
-
fontSize:
|
|
74
|
+
background: 'none',
|
|
75
|
+
border: 'none',
|
|
76
|
+
cursor: 'pointer',
|
|
77
|
+
fontSize: '24px'
|
|
78
78
|
},
|
|
79
|
-
children: isOpen ?
|
|
79
|
+
children: isOpen ? '✖' : '☰'
|
|
80
80
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
81
|
-
className: `header-holder ${isMobile ?
|
|
81
|
+
className: `header-holder ${isMobile ? 'mobile-menu' : ''} ${isOpen ? '' : 'mobile-hide'}`,
|
|
82
82
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
83
83
|
href: "/",
|
|
84
84
|
className: "custom-logo-link",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_jsxRuntime","e","__esModule","default","HeaderWidget","headerData","setHeaderData","useState","isOpen","setIsOpen","WIDTH","isMobile","setIsMobile","window","innerWidth","config","getConfig","useEffect","console","log","COLORS","document","documentElement","style","setProperty","primary","handleResize","addEventListener","removeEventListener","removeProperty","fetchData","MARKETING_SITE_BASE_URL","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","toggleMenu","jsxs","className","children","jsx","type","onClick","background","border","cursor","fontSize","href","width","height","src","LOGO_URL","alt","decoding","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/HeaderWidget/index.jsx"],"sourcesContent":["import { getConfig } from
|
|
1
|
+
{"version":3,"file":"index.js","names":["_frontendPlatform","require","_react","_dompurify","_interopRequireDefault","_jsxRuntime","e","__esModule","default","HeaderWidget","headerData","setHeaderData","useState","isOpen","setIsOpen","WIDTH","isMobile","setIsMobile","window","innerWidth","config","getConfig","useEffect","console","log","COLORS","document","documentElement","style","setProperty","primary","handleResize","addEventListener","removeEventListener","removeProperty","fetchData","MARKETING_SITE_BASE_URL","error","response","fetch","credentials","ok","Error","status","jsonData","json","cleanHtml","DOMPurify","sanitize","ADD_ATTR","toggleMenu","jsxs","className","children","jsx","type","onClick","background","border","cursor","fontSize","href","width","height","src","LOGO_URL","alt","decoding","dangerouslySetInnerHTML","__html","_default","exports"],"sources":["../../src/HeaderWidget/index.jsx"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { useEffect, useState } from 'react';\nimport DOMPurify from 'dompurify';\nimport './main.scss';\n\nconst HeaderWidget = () => {\n const [headerData, setHeaderData] = useState('');\n const [isOpen, setIsOpen] = useState(false);\n const WIDTH = 1230;\n const [isMobile, setIsMobile] = useState(window.innerWidth < WIDTH);\n const config = getConfig();\n\n useEffect(() => {\n console.log('color: ', config.COLORS);\n document.documentElement.style.setProperty(\n '--primary-color',\n config?.COLORS?.primary || '#de2025',\n );\n\n const handleResize = () => {\n setIsMobile(window.innerWidth < WIDTH);\n if (window.innerWidth >= WIDTH) {\n setIsOpen(false);\n }\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n document.documentElement.style.removeProperty('--primary-color');\n };\n }, [config?.COLORS]);\n\n useEffect(() => {\n const fetchData = async () => {\n if (!config?.MARKETING_SITE_BASE_URL) {\n console.error('No url found for discovery', config);\n return;\n }\n try {\n const response = await fetch(\n `${config.MARKETING_SITE_BASE_URL}/wp-json/edly-wp-routes/nav-menu`,\n // \"https://venus.discover.multitenantsdev.edly.io/wp-json/edly-wp-routes/nav-menu\",\n { credentials: 'include' },\n );\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const jsonData = await response.json();\n\n if (typeof jsonData === 'object') {\n const cleanHtml = DOMPurify.sanitize(jsonData.primary, {\n ADD_ATTR: ['target', 'class'],\n });\n setHeaderData(cleanHtml);\n } else {\n console.error('Data object is not json');\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n fetchData();\n }, []);\n\n const toggleMenu = () => {\n setIsOpen(!isOpen);\n };\n\n return (\n <div className={`shadow-sm ${isMobile ? 'header-frame' : ''}`}>\n {isMobile && (\n <button\n className=\"menuOpner\"\n type=\"button\"\n onClick={toggleMenu}\n style={{\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n fontSize: '24px',\n }}\n >\n {isOpen ? '✖' : '☰'}\n </button>\n )}\n <div\n className={`header-holder ${isMobile ? 'mobile-menu' : ''} ${\n isOpen ? '' : 'mobile-hide'\n }`}\n >\n <a href=\"/\" className=\"custom-logo-link\">\n <img\n width=\"216\"\n height=\"140\"\n src={config.LOGO_URL}\n className=\"custom-logo\"\n alt=\"Venus\"\n decoding=\"async\"\n />\n </a>\n <header\n className=\"site-header\"\n dangerouslySetInnerHTML={{ __html: headerData }}\n />\n </div>\n </div>\n );\n};\n\nexport default HeaderWidget;\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, "EdlyLogistrationInfo", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _EdlyLogistrationInfo.EdlyLogistrationInfo;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "EmailCheckWidget", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _EmailCheckWidget.EmailCheckWidget;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
6
18
|
Object.defineProperty(exports, "FooterWidget", {
|
|
7
19
|
enumerable: true,
|
|
8
20
|
get: function () {
|
|
@@ -15,7 +27,33 @@ Object.defineProperty(exports, "HeaderWidget", {
|
|
|
15
27
|
return _HeaderWidget.default;
|
|
16
28
|
}
|
|
17
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "emailCheckComplete", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _EmailCheckWidget.emailCheckComplete;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "emailCheckReducer", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _EmailCheckWidget.reducer;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "emailCheckSaga", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _EmailCheckWidget.saga;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "emailCheckStoreName", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _EmailCheckWidget.storeName;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
18
54
|
var _HeaderWidget = _interopRequireDefault(require("./HeaderWidget"));
|
|
19
55
|
var _FooterWidget = _interopRequireDefault(require("./FooterWidget"));
|
|
56
|
+
var _EmailCheckWidget = require("./EmailCheckWidget");
|
|
57
|
+
var _EdlyLogistrationInfo = require("./EdlyLogistrationInfo");
|
|
20
58
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
59
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_HeaderWidget","_interopRequireDefault","require","_FooterWidget","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["import HeaderWidget from
|
|
1
|
+
{"version":3,"file":"index.js","names":["_HeaderWidget","_interopRequireDefault","require","_FooterWidget","_EmailCheckWidget","_EdlyLogistrationInfo","e","__esModule","default"],"sources":["../src/index.js"],"sourcesContent":["import HeaderWidget from './HeaderWidget';\nimport FooterWidget from './FooterWidget';\n\nexport { HeaderWidget, FooterWidget };\nexport {\n EmailCheckWidget,\n reducer as emailCheckReducer,\n saga as emailCheckSaga,\n storeName as emailCheckStoreName,\n emailCheckComplete,\n} from './EmailCheckWidget';\nexport { EdlyLogistrationInfo } from './EdlyLogistrationInfo';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,iBAAA,GAAAF,OAAA;AAOA,IAAAG,qBAAA,GAAAH,OAAA;AAA8D,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anas_hameed/edly-saas-widget",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Frontend application template",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
"prop-types": "^15.5.10",
|
|
45
45
|
"react": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
46
46
|
"react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
47
|
+
"react-redux": "^7.2.9",
|
|
48
|
+
"redux-saga": "^1.3.0",
|
|
47
49
|
"react-router-dom": "^6.14.2"
|
|
48
50
|
},
|
|
49
51
|
"devDependencies": {
|