123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- exports.id = 86262;
- exports.ids = [86262];
- exports.modules = {
- /***/ 86161:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "CompleteSignupForm_container__WWUVf",
- "title": "CompleteSignupForm_title__nNTvk",
- "strong": "CompleteSignupForm_strong__XIUxt",
- "emailSent": "CompleteSignupForm_emailSent__Nlle8"
- };
- /***/ }),
- /***/ 57361:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var lodash_capitalize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59969);
- /* harmony import */ var lodash_capitalize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_capitalize__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var types_FormField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3840);
- /**
- * Transform FormField to be FormBuilderFormField
- *
- * FormField and FormBuilderFormField are the same except, FormBuilderFormField is not tied to errorId and translationId
- * - Previously FormBuilder was tied to common.json, next-translate.
- * - and it's also tied to ErrorMessageId
- * - and the `label` is also less flexible because it's tied to `field` value
- *
- * This function help to transform FormField to FormBuilderFormField for common use case.
- * But when we need a more flexible use case, we can use FormBuilderFormField directly. Without using this helper function
- *
- * check ./FormBuilderTypes.ts for more info
- *
- * Note that this function expect the `t` translate function to be used with `common.json`. And expect `form.$field` and `validation.$errorId` to exist.
- *
- * @param {FormField} formField
- * @returns {FormBuilderFormField} formBuilderFormField
- */ const buildFormBuilderFormField = (formField, t)=>{
- return {
- ...formField,
- ...formField.rules && {
- rules: formField.rules.map((rule)=>({
- type: rule.type,
- value: rule.value,
- errorMessage: t(`common:validation.${rule.errorId}`, {
- field: lodash_capitalize__WEBPACK_IMPORTED_MODULE_0___default()(formField.field),
- ...rule.errorExtraParams
- })
- }))
- },
- ...formField.label && {
- label: formField.type === types_FormField__WEBPACK_IMPORTED_MODULE_1__/* .FormFieldType.Checkbox */ .E.Checkbox ? formField.label : t(`form.${formField.label}`)
- },
- ...formField.defaultValue && {
- defaultValue: formField.defaultValue
- },
- ...formField.placeholder && {
- placeholder: formField.placeholder
- }
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (buildFormBuilderFormField);
- /***/ }),
- /***/ 86262:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15941);
- /* harmony import */ var _FormBuilder_buildFormBuilderFormField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57361);
- /* harmony import */ var _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(37013);
- /* harmony import */ var _CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(86161);
- /* harmony import */ var _CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_9__);
- /* harmony import */ var _EmailVerificationForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(52501);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13830);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55943);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_2__, _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_4__, _EmailVerificationForm__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_8__]);
- ([swr__WEBPACK_IMPORTED_MODULE_2__, _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_4__, _EmailVerificationForm__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /**
- * If users' email is empty, return email verification form
- * otherwise, return normal user information form
- */ const CompleteSignupForm = ({ requiredFields })=>{
- const { mutate } = (0,swr__WEBPACK_IMPORTED_MODULE_2__.useSWRConfig)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
- const onSubmit = (data)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_8__/* .logFormSubmission */ .dz)("complete_signUp");
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_6__/* .completeSignup */ .kK)(data).then(()=>{
- // mutate the cache version of users/profile
- mutate((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_7__/* .makeUserProfileUrl */ .bo)());
- });
- };
- const emailFormField = requiredFields.find((field)=>field.field === "email");
- const isEmailRequired = !!emailFormField;
- if (isEmailRequired) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmailVerificationForm__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- emailFormField: (0,_FormBuilder_buildFormBuilderFormField__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
- ...emailFormField,
- placeholder: t(`form.email`)
- }, t)
- });
- }
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_9___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_9___default().title),
- children: t("complete-sign-up")
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- formFields: requiredFields.map((field)=>(0,_FormBuilder_buildFormBuilderFormField__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
- ...field,
- placeholder: t(`form.${field.field}`)
- }, t)),
- onSubmit: onSubmit,
- actionText: t("submit")
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CompleteSignupForm);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 52501:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74137);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_Trans__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(15941);
- /* harmony import */ var _FormBuilder_buildTranslatedErrorMessageByErrorId__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(21485);
- /* harmony import */ var _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(37013);
- /* harmony import */ var _CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(86161);
- /* harmony import */ var _CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14__);
- /* harmony import */ var _ResendEmailSection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(68205);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(13830);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55943);
- /* harmony import */ var types_ErrorMessageId__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(99133);
- /* harmony import */ var types_FieldRule__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(98213);
- /* harmony import */ var types_FormField__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3840);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_4__, _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_6__, _ResendEmailSection__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__]);
- ([swr__WEBPACK_IMPORTED_MODULE_4__, _FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_6__, _ResendEmailSection__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const EmailVerificationForm = ({ emailFormField })=>{
- const { 0: isSubmitted , 1: setIsSubmitted } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
- const { mutate } = (0,swr__WEBPACK_IMPORTED_MODULE_4__.useSWRConfig)();
- const { 0: email , 1: setEmail } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const { 0: forceRerenderKey , 1: setForceRerenderKey } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);
- const onEmailSubmitted = (data)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logFormSubmission */ .dz)("email_verification");
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_8__/* .requestVerificationCode */ .x8)(data.email);
- setIsSubmitted(true);
- setEmail(data.email);
- };
- const verificationCodeFormField = {
- field: "code",
- type: types_FormField__WEBPACK_IMPORTED_MODULE_13__/* .FormFieldType.Number */ .E.Number,
- placeholder: t("form.code"),
- rules: [
- {
- type: types_FieldRule__WEBPACK_IMPORTED_MODULE_12__/* .RuleType.Required */ .S.Required,
- value: true,
- errorMessage: (0,_FormBuilder_buildTranslatedErrorMessageByErrorId__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(types_ErrorMessageId__WEBPACK_IMPORTED_MODULE_11__/* ["default"].RequiredField */ .Z.RequiredField, "code", t)
- },
- ]
- };
- const onVerificationCodeSubmitted = (data)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logFormSubmission */ .dz)("verification_code");
- return (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_8__/* .completeSignup */ .kK)({
- email,
- verificationCode: data.code.toString()
- }).then(()=>{
- // mutate the cache version of users/profile
- mutate((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_9__/* .makeUserProfileUrl */ .bo)());
- }).catch(async (err)=>{
- const result = {
- errors: {
- code: err?.message
- }
- };
- return result;
- });
- };
- const onResendEmailRequested = ()=>{
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_8__/* .requestVerificationCode */ .x8)(email);
- setForceRerenderKey((preVal)=>preVal + 1);
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14___default().title),
- children: t("email-verification.email-verification")
- }),
- isSubmitted ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14___default().emailSent),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_translate_Trans__WEBPACK_IMPORTED_MODULE_2___default()), {
- i18nKey: "common:email-verification.email-sent",
- values: {
- email
- },
- components: {
- strong: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("strong", {
- className: (_CompleteSignupForm_module_scss__WEBPACK_IMPORTED_MODULE_14___default().strong)
- })
- }
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- formFields: [
- verificationCodeFormField
- ],
- onSubmit: onVerificationCodeSubmitted,
- actionText: t("common:email-verification.verify-code")
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResendEmailSection__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- onResendButtonClicked: onResendEmailRequested
- }, forceRerenderKey)
- ]
- }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_FormBuilder_FormBuilder__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- formFields: [
- emailFormField
- ],
- onSubmit: onEmailSubmitted,
- actionText: t("submit")
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmailVerificationForm);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ })
- };
- ;
- //# sourceMappingURL=86262.js.map
|