| @@ -110,7 +110,7 @@ const CustomFormWizard = (props) => { | |||
| useEffect(() => { | |||
| changePassword(''); | |||
| if(captchaImg=="") | |||
| if (captchaImg == "") | |||
| onCaptchaChange(); | |||
| }, []); | |||
| @@ -171,7 +171,7 @@ const CustomFormWizard = (props) => { | |||
| const onCaptchaChange = () => { | |||
| HttpUtils.post({ | |||
| url: POST_CAPTCHA, | |||
| params: { width: 130, height: 40, captcha: captchaImg}, | |||
| params: { width: 130, height: 40, captcha: captchaImg }, | |||
| onSuccess: (responseData) => { | |||
| props.setBase64Url(responseData.base64Url) | |||
| localStorage.setItem("base64Url", responseData.base64Url); | |||
| @@ -300,7 +300,7 @@ const CustomFormWizard = (props) => { | |||
| useEffect(() => { | |||
| props.step == 2 ? _onSubmit() : null; | |||
| if(captchaImg=="") | |||
| if (captchaImg == "") | |||
| onCaptchaChange(); | |||
| checkDataField(values) | |||
| }, [props.step]) | |||
| @@ -309,7 +309,7 @@ const CustomFormWizard = (props) => { | |||
| const _onSubmit = () => { | |||
| setLoding(true); | |||
| values.idDocType = selectedIdDocType.type | |||
| values.address4 = selectedAddress4==null?"":selectedAddress4.key | |||
| values.address4 = selectedAddress4 == null ? "" : selectedAddress4.key | |||
| values.address5 = selectedAddress5.key | |||
| // console.log(values) | |||
| const userAddress = { | |||
| @@ -383,7 +383,7 @@ const CustomFormWizard = (props) => { | |||
| }) | |||
| .then(( | |||
| // response | |||
| ) => { | |||
| ) => { | |||
| // console.log(response) | |||
| setCheckUpload(true) | |||
| setLoding(false); | |||
| @@ -551,27 +551,27 @@ const CustomFormWizard = (props) => { | |||
| captchaField: '' | |||
| }), | |||
| validationSchema: yup.object().shape({ | |||
| username: yup.string().min(6, displayErrorMsg(intl.formatMessage({id: 'atLeast6CharAccount'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireUsername'}))) | |||
| .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpecialCharAccount'})) }) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpaceAccount'})) }), | |||
| password: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'requirePassword'}))) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpacePassword'})) }) | |||
| .matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneSmallLetter'})) }) | |||
| .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneCapLetter'})) }) | |||
| .matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1Number'})) }) | |||
| .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1SpecialChar'})) }), | |||
| confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({id: 'samePassword'}))), | |||
| enName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))), | |||
| chName: yup.string().max(6).required(displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))), | |||
| address1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))), | |||
| address2: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine2'}))), | |||
| address3: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine3'}))), | |||
| email: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))), | |||
| emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({id: 'validSameEmail'}))), | |||
| idNo: yup.string().required(displayErrorMsg(`${intl.formatMessage({id: 'require'})}${selectedIdDocInputType}${intl.formatMessage({id: 'number'})}`)) | |||
| .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({id: 'noSpecialCharacter'})}`) }) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({id: 'noSpace'})}`) }) | |||
| .test('checkIDCardFormat', displayErrorMsg(`${intl.formatMessage({id: 'requiredValid'})}${selectedIdDocInputType}${intl.formatMessage({id: 'number'})}`), function (value) { | |||
| username: yup.string().min(6, displayErrorMsg(intl.formatMessage({ id: 'atLeast6CharAccount' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireUsername' }))) | |||
| .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(intl.formatMessage({ id: 'noSpecialCharAccount' })) }) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({ id: 'noSpaceAccount' })) }), | |||
| password: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'atLeast8CharPassword' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requirePassword' }))) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({ id: 'noSpacePassword' })) }) | |||
| .matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeastOneSmallLetter' })) }) | |||
| .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeastOneCapLetter' })) }) | |||
| .matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1Number' })) }) | |||
| .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1SpecialChar' })) }), | |||
| confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'atLeast8CharPassword' }))).required(displayErrorMsg(intl.formatMessage({ id: 'pleaseConfirmPassword' }))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({ id: 'samePassword' }))), | |||
| enName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireEnglishName' }))), | |||
| chName: yup.string().max(6).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireChineseName' }))), | |||
| address1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine1' }))), | |||
| address2: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine2' }))), | |||
| address3: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine3' }))), | |||
| email: yup.string().email(displayErrorMsg(intl.formatMessage({ id: 'validEmailFormat' }))).max(255).required(displayErrorMsg(intl.formatMessage({ id: 'requireEmail' }))), | |||
| emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({ id: 'validEmailFormat' }))).max(255).required(displayErrorMsg(intl.formatMessage({ id: 'requireEmail' }))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({ id: 'validSameEmail' }))), | |||
| idNo: yup.string().required(displayErrorMsg(`${intl.formatMessage({ id: 'require' })}${selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`)) | |||
| .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpecialCharacter' })}`) }) | |||
| .matches(/^\S*$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpace' })}`) }) | |||
| .test('checkIDCardFormat', displayErrorMsg(`${intl.formatMessage({ id: 'requiredValid' })}${selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`), function (value) { | |||
| const idDocType = selectedIdDocType.type; | |||
| var pattern_HKIDv1 = /^[A-Z]{1}[0-9]{6}$/; | |||
| var pattern_HKIDv2 = /^[A-Z]{2}[0-9]{6}$/; | |||
| @@ -622,13 +622,13 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| } | |||
| }), | |||
| checkDigit: yup.string().max(1).required(displayErrorMsg(intl.formatMessage({id: 'requiredNumberInQuote'}))), | |||
| idDocType: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireIdDocType'}))), | |||
| phoneCountryCode: yup.string().min(2, displayErrorMsg(intl.formatMessage({id: 'requireAtLeast2Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))), | |||
| checkDigit: yup.string().max(1).required(displayErrorMsg(intl.formatMessage({ id: 'requiredNumberInQuote' }))), | |||
| idDocType: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({ id: 'requireIdDocType' }))), | |||
| phoneCountryCode: yup.string().min(2, displayErrorMsg(intl.formatMessage({ id: 'requireAtLeast2Number' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireDialingCode' }))), | |||
| // faxCountryCode: yup.string().min(3,'請輸入3位數字'), | |||
| phone: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'requireAtLeast8Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireContactNumber'}))), | |||
| phone: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'requireAtLeast8Number' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireContactNumber' }))), | |||
| // fax: yup.string().min(8,'請輸入8位數字'), | |||
| captchaField: yup.string().required(displayErrorMsg(intl.formatMessage({id: 'requireVerify'}))),//.oneOf([captcha], displayErrorMsg('請輸入有效驗證')), | |||
| captchaField: yup.string().required(displayErrorMsg(intl.formatMessage({ id: 'requireVerify' }))),//.oneOf([captcha], displayErrorMsg('請輸入有效驗證')), | |||
| }), | |||
| }); | |||
| @@ -661,19 +661,19 @@ const CustomFormWizard = (props) => { | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Button variant="outlined" type="reset" onClick={handleReset.bind(null, formik.resetForm)} sx={{ height: '40px' }}> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="reset"/> | |||
| <FormattedMessage id="reset" /> | |||
| </Typography> | |||
| </Button> | |||
| <div style={{ borderBottom: "3px solid #1A4399", width: "100%", margin_right: "15px" }}> | |||
| <Typography display="inline" variant="h3" sx={{ color: '#1A4399' }}> | |||
| <FormattedMessage id="becomeNewPersonalUser"/> | |||
| <FormattedMessage id="becomeNewPersonalUser" /> | |||
| </Typography> | |||
| </div> | |||
| <Typography mt={0.25} variant="h6" sx={{ color: '#f10000' }}> | |||
| <FormattedMessage id="requireString"/> | |||
| <FormattedMessage id="requireString" /> | |||
| </Typography> | |||
| <Typography mt={0.25} variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourLoginInformation"/> | |||
| <FormattedMessage id="yourLoginInformation" /> | |||
| </Typography> | |||
| </Stack> | |||
| </Grid> | |||
| @@ -683,7 +683,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="username-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userLoginName"/> | |||
| <FormattedMessage id="userLoginName" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| {/*<Button*/} | |||
| {/* variant="contained"*/} | |||
| @@ -703,7 +703,7 @@ const CustomFormWizard = (props) => { | |||
| props.setUsername(e.target.value) | |||
| formik.handleChange(e) | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'userLoginName'})} | |||
| placeholder={intl.formatMessage({ id: 'userLoginName' })} | |||
| fullWidth | |||
| error={Boolean((formik.touched.username && formik.errors.username) || checkUsername)} | |||
| onBlur={formik.handleBlur} | |||
| @@ -722,7 +722,7 @@ const CustomFormWizard = (props) => { | |||
| )} | |||
| {checkUsername && ( | |||
| <FormHelperText error id="helper-text-username-signup"> | |||
| <FormattedMessage id="usernameTaken"/> | |||
| <FormattedMessage id="usernameTaken" /> | |||
| </FormHelperText> | |||
| )} | |||
| </Stack> | |||
| @@ -734,7 +734,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack direction="row" justifyContent="space-between"> | |||
| <InputLabel htmlFor="password-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userPassword"/> | |||
| <FormattedMessage id="userPassword" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -763,7 +763,7 @@ const CustomFormWizard = (props) => { | |||
| </IconButton> | |||
| </InputAdornment> | |||
| } | |||
| placeholder={intl.formatMessage({id: 'userPassword'})} | |||
| placeholder={intl.formatMessage({ id: 'userPassword' })} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| @@ -786,7 +786,7 @@ const CustomFormWizard = (props) => { | |||
| </Grid> | |||
| <Grid item> | |||
| <Typography variant="subtitle1"> | |||
| <FormattedMessage id={level ? level?.label : "pwWeak" }/> | |||
| <FormattedMessage id={level ? level?.label : "pwWeak"} /> | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -796,7 +796,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="confirmPassword-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="confirmPassword"/> | |||
| <FormattedMessage id="confirmPassword" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -830,7 +830,7 @@ const CustomFormWizard = (props) => { | |||
| </IconButton> | |||
| </InputAdornment> | |||
| } | |||
| placeholder={intl.formatMessage({id: 'confirmPassword'})} | |||
| placeholder={intl.formatMessage({ id: 'confirmPassword' })} | |||
| fullWidth | |||
| error={Boolean(formik.touched.confirmPassword && formik.errors.confirmPassword)} | |||
| /> | |||
| @@ -841,12 +841,12 @@ const CustomFormWizard = (props) => { | |||
| )} | |||
| </Stack> | |||
| <Grid container spacing={2} alignItems="center"> | |||
| <Grid item sx={{mt:1}}> | |||
| <Grid item sx={{ mt: 1 }}> | |||
| <Typography variant="subtitle1"> | |||
| •<FormattedMessage id="pwRemark1"/> <br /> | |||
| •<FormattedMessage id="pwRemark2"/><br /> | |||
| •<FormattedMessage id="pwRemark3"/><br /> | |||
| •<FormattedMessage id="pwRemark4"/> | |||
| •<FormattedMessage id="pwRemark1" /> <br /> | |||
| •<FormattedMessage id="pwRemark2" /><br /> | |||
| •<FormattedMessage id="pwRemark3" /><br /> | |||
| •<FormattedMessage id="pwRemark4" /> | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -856,7 +856,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} mt={1} mb={1}> | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourPersonalInformation"/> | |||
| <FormattedMessage id="yourPersonalInformation" /> | |||
| </Typography> | |||
| {/* <Typography component={Link} to="/login" variant="body1" sx={{ textDecoration: 'none' }} color="primary"> | |||
| Already have an account? | |||
| @@ -868,7 +868,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="idDocType-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userIdDoc"/> | |||
| <FormattedMessage id="userIdDoc" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -892,9 +892,9 @@ const CustomFormWizard = (props) => { | |||
| onBlur={formik.handleBlur} | |||
| filterOptions={(options) => options} | |||
| inputValue={selectedIdDocInputType} | |||
| getOptionLabel={(option) => option.label? intl.formatMessage({ id: option.label }) : ""} | |||
| getOptionLabel={(option) => option.label ? intl.formatMessage({ id: option.label }) : ""} | |||
| onChange={(event, newValue) => { | |||
| if (newValue != null ) { | |||
| if (newValue != null) { | |||
| setSelectedIdDocInputType(intl.formatMessage({ id: newValue.label })); | |||
| setSelectedIdDocType(newValue); | |||
| if (newValue.type !== "HKID") { | |||
| @@ -907,13 +907,13 @@ const CustomFormWizard = (props) => { | |||
| sx={{ "#address4-combo": { padding: "0px 0px 0px 0px" }, "& .MuiAutocomplete-endAdornment": { top: "auto" }, }} | |||
| renderInput={(params) => <TextField | |||
| {...params} | |||
| placeholder={intl.formatMessage({id: 'idDocType'})} | |||
| placeholder={intl.formatMessage({ id: 'idDocType' })} | |||
| />} | |||
| /> | |||
| {formik.touched.idDocType && ( | |||
| selectedIdDocType === null ? | |||
| <FormHelperText error id="helper-text-idDocType-signup"> | |||
| <FormattedMessage id="requireIdDocType"/> | |||
| <FormattedMessage id="requireIdDocType" /> | |||
| </FormHelperText> : '' | |||
| )} | |||
| </Stack> | |||
| @@ -941,7 +941,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| } | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'idDocNumber'})} | |||
| placeholder={intl.formatMessage({ id: 'idDocNumber' })} | |||
| fullWidth | |||
| sx={{ mr: 1 }} | |||
| error={Boolean(formik.touched.idNo && formik.errors.idNo)} | |||
| @@ -1021,7 +1021,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| } | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'idDocNumber'})} | |||
| placeholder={intl.formatMessage({ id: 'idDocNumber' })} | |||
| fullWidth | |||
| sx={{ mr: 1 }} | |||
| error={Boolean(formik.touched.idNo && formik.errors.idNo)} | |||
| @@ -1049,7 +1049,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="enName-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userEnglishName"/> | |||
| <FormattedMessage id="userEnglishName" /> | |||
| {selectedIdDocType.type === "CNID" ? "" : <span style={{ color: '#f10000' }}>*</span>} | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1059,7 +1059,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.enName} | |||
| name="enName" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'sameAsYourIdDoc'})} | |||
| placeholder={intl.formatMessage({ id: 'sameAsYourIdDoc' })} | |||
| fullWidth | |||
| error={Boolean(formik.touched.enName && formik.errors.enName && selectedIdDocType.type !== "CNID")} | |||
| onBlur={formik.handleBlur} | |||
| @@ -1082,7 +1082,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="chName-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userChineseName"/> | |||
| <FormattedMessage id="userChineseName" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1094,7 +1094,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.chName.trim()} | |||
| name="chName" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'sameAsYourIdDoc'})} | |||
| placeholder={intl.formatMessage({ id: 'sameAsYourIdDoc' })} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| maxLength: 6, | |||
| @@ -1116,7 +1116,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1}> | |||
| <InputLabel htmlFor="address1-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="formAddress"/> | |||
| <FormattedMessage id="formAddress" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1127,7 +1127,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.address1} | |||
| name="address1" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'addressLine1'})} | |||
| placeholder={intl.formatMessage({ id: 'addressLine1' })} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| @@ -1144,7 +1144,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.address2} | |||
| name="address2" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'addressLine2'})} | |||
| placeholder={intl.formatMessage({ id: 'addressLine2' })} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| if (e.key === 'Enter') { | |||
| @@ -1160,7 +1160,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.address3} | |||
| name="address3" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'addressLine3'})} | |||
| placeholder={intl.formatMessage({ id: 'addressLine3' })} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| if (e.key === 'Enter') { | |||
| @@ -1175,14 +1175,16 @@ const CustomFormWizard = (props) => { | |||
| value={selectedAddress4} | |||
| options={ComboData.district} | |||
| disabled={checkCountry} | |||
| getOptionLabel={(option) => option.type? intl.formatMessage({ id: option.type }) : ""} | |||
| getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""} | |||
| onChange={(event, newValue) => { | |||
| setSelectedAddress4(newValue); | |||
| }} | |||
| sx={{ "& .MuiInputBase-root": { height: "41px" }, | |||
| sx={{ | |||
| "& .MuiInputBase-root": { height: "41px" }, | |||
| "#address4-combo": { padding: "0px 0px 0px 3px" }, | |||
| "& .MuiAutocomplete-endAdornment": { top: "auto" }, }} | |||
| renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({id: 'region'})} | |||
| "& .MuiAutocomplete-endAdornment": { top: "auto" }, | |||
| }} | |||
| renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({ id: 'region' })} | |||
| />} | |||
| /> | |||
| <Autocomplete | |||
| @@ -1190,7 +1192,7 @@ const CustomFormWizard = (props) => { | |||
| id="address5-combo" | |||
| value={selectedAddress5} | |||
| options={ComboData.country} | |||
| getOptionLabel={(option) => option.type? intl.formatMessage({ id: option.type }) : ""} | |||
| getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setSelectedAddress5(newValue); | |||
| @@ -1207,7 +1209,7 @@ const CustomFormWizard = (props) => { | |||
| }} | |||
| sx={{ "& .MuiInputBase-root": { height: "41px" }, "#address5-combo": { padding: "0px 0px 0px 3px" }, "& .MuiAutocomplete-endAdornment": { top: "auto" }, }} | |||
| renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({id: 'regionOrCountry'})} />} | |||
| renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({ id: 'regionOrCountry' })} />} | |||
| /> | |||
| {formik.touched.address1 && formik.errors.address1 && ( | |||
| <FormHelperText error id="helper-text-address1-signup"> | |||
| @@ -1229,7 +1231,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} mt={1} mb={1}> | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourContact"/> | |||
| <FormattedMessage id="yourContact" /> | |||
| </Typography> | |||
| </Stack> | |||
| </Grid> | |||
| @@ -1239,7 +1241,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1} sx={{ mr: { md: 1 }, mb: 1 }}> | |||
| <InputLabel htmlFor="email-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userContactEmail"/> | |||
| <FormattedMessage id="userContactEmail" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1251,7 +1253,7 @@ const CustomFormWizard = (props) => { | |||
| value={formik.values.email.trim()} | |||
| name="email" | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'userContactEmail'})} | |||
| placeholder={intl.formatMessage({ id: 'userContactEmail' })} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| @@ -1268,7 +1270,7 @@ const CustomFormWizard = (props) => { | |||
| )} | |||
| {checkEmail && ( | |||
| <FormHelperText error id="helper-text-email-signup"> | |||
| <FormattedMessage id="emailUsed"/> | |||
| <FormattedMessage id="emailUsed" /> | |||
| </FormHelperText> | |||
| )} | |||
| </Stack> | |||
| @@ -1277,7 +1279,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1} > | |||
| <InputLabel htmlFor="emailConfirm-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userContactEmail"/> | |||
| <FormattedMessage id="userContactEmail" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1290,7 +1292,7 @@ const CustomFormWizard = (props) => { | |||
| name="emailConfirm" | |||
| // onBlur={formik.handleBlur} | |||
| onChange={formik.handleChange} | |||
| placeholder={intl.formatMessage({id: 'confirmEmail'})} | |||
| placeholder={intl.formatMessage({ id: 'confirmEmail' })} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| onKeyDown: (e) => { | |||
| @@ -1317,7 +1319,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack direction="column" spacing={1} sx={{ mr: { md: 1 }, mb: 1 }}> | |||
| <InputLabel htmlFor="phone-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userContactNumber"/> | |||
| <FormattedMessage id="userContactNumber" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </InputLabel> | |||
| @@ -1336,7 +1338,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| formik.setFieldValue("phoneCountryCode", value); | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'dialingCode'})} | |||
| placeholder={intl.formatMessage({ id: 'dialingCode' })} | |||
| error={Boolean(formik.touched.phone && formik.errors.phone)} | |||
| onBlur={formik.handleBlur} | |||
| endAdornment={<InputAdornment position="end">-</InputAdornment>} | |||
| @@ -1348,7 +1350,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| }, | |||
| }} | |||
| sx={{ width: '33%', mr:1}} | |||
| sx={{ width: '33%', mr: 1 }} | |||
| /> | |||
| <OutlinedInput | |||
| id="phone-login" | |||
| @@ -1364,7 +1366,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| formik.setFieldValue("phone", value); | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'userContactNumber'})} | |||
| placeholder={intl.formatMessage({ id: 'userContactNumber' })} | |||
| error={Boolean(formik.touched.phone && formik.errors.phone)} | |||
| onBlur={formik.handleBlur} | |||
| inputProps={{ | |||
| @@ -1393,7 +1395,7 @@ const CustomFormWizard = (props) => { | |||
| <Stack spacing={1} direction="column"> | |||
| <InputLabel htmlFor="fax-signup"> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="userFaxNumber"/> | |||
| <FormattedMessage id="userFaxNumber" /> | |||
| </Typography> | |||
| </InputLabel> | |||
| <Stack direction="row"> | |||
| @@ -1411,7 +1413,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| formik.setFieldValue("faxCountryCode", value); | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'dialingCode'})} | |||
| placeholder={intl.formatMessage({ id: 'dialingCode' })} | |||
| onBlur={formik.handleBlur} | |||
| endAdornment={<InputAdornment position="end">-</InputAdornment>} | |||
| inputProps={{ | |||
| @@ -1422,7 +1424,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| }, | |||
| }} | |||
| sx={{ width: '33%' , mr: 1}} | |||
| sx={{ width: '33%', mr: 1 }} | |||
| /> | |||
| <OutlinedInput | |||
| id="fax-login" | |||
| @@ -1438,7 +1440,7 @@ const CustomFormWizard = (props) => { | |||
| } | |||
| formik.setFieldValue("fax", value); | |||
| }} | |||
| placeholder={intl.formatMessage({id: 'userFaxNumber'})} | |||
| placeholder={intl.formatMessage({ id: 'userFaxNumber' })} | |||
| inputProps={{ | |||
| maxLength: 8, | |||
| onKeyDown: (e) => { | |||
| @@ -1461,28 +1463,28 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={12}> | |||
| <Stack spacing={1} direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="userIdDoc"/> | |||
| <FormattedMessage id="userIdDoc" /> | |||
| <span style={{ color: '#f10000' }}>*</span></Typography> | |||
| <Typography display="inline" variant="subtitle1" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="pleaseUploadIdDoc"/> | |||
| <FormattedMessage id="pleaseUploadIdDoc" /> | |||
| </Typography> | |||
| <Typography display="inline" variant="subtitle1" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="pleaseUploadIdDocSubTitle"/> | |||
| <FormattedMessage id="pleaseUploadIdDocSubTitle" /> | |||
| </Typography> | |||
| <Stack mt={1} direction="row" justifyContent="flex-start" alignItems="center" spacing={2}> | |||
| <ThemeProvider theme={PNSPS_LONG_BUTTON_THEME}> | |||
| <Button variant="contained" component="label" sx={{ height: '40px' }}> | |||
| <FormattedMessage id="uploadIdDoc"/> | |||
| <input | |||
| accept="image/png, .jpg, .bmp, .pdf" | |||
| //className={classes.input} | |||
| id="contained-button-file" | |||
| multiple | |||
| type="file" | |||
| onChange={handleFileUpload} | |||
| style={{ display: 'none' }} | |||
| /> | |||
| </Button> | |||
| <Button variant="contained" component="label" sx={{ height: '40px' }}> | |||
| <FormattedMessage id="uploadIdDoc" /> | |||
| <input | |||
| accept="image/png, .jpg, .bmp, .pdf" | |||
| //className={classes.input} | |||
| id="contained-button-file" | |||
| multiple | |||
| type="file" | |||
| onChange={handleFileUpload} | |||
| style={{ display: 'none' }} | |||
| /> | |||
| </Button> | |||
| </ThemeProvider> | |||
| {/*<Typography xs={12} sm={9} md={3} display="inline" variant="subtitle1" sx={{ color: 'primary.primary' }}>如: 香港身份證; 護照; 中國內地身份證等</Typography>*/} | |||
| </Stack> | |||
| @@ -1501,7 +1503,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid container> | |||
| <Grid item xs={12} md={12}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="termsAndCondition"/> | |||
| <FormattedMessage id="termsAndCondition" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| </Grid> | |||
| @@ -1526,7 +1528,7 @@ const CustomFormWizard = (props) => { | |||
| size="small" | |||
| /> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="acceptTerms"/> | |||
| <FormattedMessage id="acceptTerms" /> | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -1542,7 +1544,7 @@ const CustomFormWizard = (props) => { | |||
| size="small" | |||
| /> | |||
| <Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="rejectTerms"/> | |||
| <FormattedMessage id="rejectTerms" /> | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -1556,7 +1558,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid container> | |||
| <Stack direction="column"> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="verify"/> | |||
| <FormattedMessage id="verify" /> | |||
| <span style={{ color: '#f10000' }}>*</span> | |||
| </Typography> | |||
| <Stack spacing={1} direction="row"> | |||
| @@ -1604,12 +1606,12 @@ const CustomFormWizard = (props) => { | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <div style={{ borderBottom: "3px solid #1A4399", width: "100%", margin_right: "15px" }}> | |||
| <Typography display="inline" variant="h3" sx={{ color: '#1A4399' }}> | |||
| <FormattedMessage id="becomeNewPersonalUser"/> | |||
| <FormattedMessage id="becomeNewPersonalUser" /> | |||
| </Typography> | |||
| </div> | |||
| {/* <Typography mt={0.25} variant="h6" sx={{ fontSize: 12,color: '#f10000'}}>註有*的項目必須輸入資料</Typography> */} | |||
| <Typography mt={0.25} variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourLoginInformation"/> | |||
| <FormattedMessage id="yourLoginInformation" /> | |||
| </Typography> | |||
| {/* <Typography component={Link} to="/login" variant="body1" sx={{ textDecoration: 'none' }} color="primary"> | |||
| Already have an account? | |||
| @@ -1621,7 +1623,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} > | |||
| <Stack spacing={2} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userLoginName"/>: | |||
| <FormattedMessage id="userLoginName" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-username-login"> | |||
| {formik.values.username} | |||
| @@ -1631,7 +1633,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} mt={1} mb={1}> | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourPersonalInformation"/> | |||
| <FormattedMessage id="yourPersonalInformation" /> | |||
| </Typography> | |||
| {/* <Typography component={Link} to="/login" variant="body1" sx={{ textDecoration: 'none' }} color="primary"> | |||
| Already have an account? | |||
| @@ -1641,7 +1643,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={12} > | |||
| <Stack spacing={1}> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userIdDoc"/> | |||
| <FormattedMessage id="userIdDoc" /> | |||
| </Typography> | |||
| </Stack> | |||
| </Grid> | |||
| @@ -1649,17 +1651,18 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={6} > | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="idDocType"/>: | |||
| <FormattedMessage id="idDocType" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" name="preview-idDocType"> | |||
| {selectedIdDocType.label} | |||
| {intl.formatMessage({ id: selectedIdDocType?.label??" " })} | |||
| </Typography> | |||
| </Stack> | |||
| </Grid> | |||
| <Grid item xs={12} md={6}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="idDocNumber"/>: | |||
| <FormattedMessage id="idDocNumber" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="idNo-login"> | |||
| {formik.values.idNo} {selectedIdDocType.type == "HKID" ? '(' + formik.values.checkDigit + ')' : null} | |||
| @@ -1670,7 +1673,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={6}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userEnglishName"/>: | |||
| <FormattedMessage id="userEnglishName" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-enName-signup"> | |||
| {formik.values.enName} | |||
| @@ -1680,7 +1683,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={6}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userChineseName"/>: | |||
| <FormattedMessage id="userChineseName" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-chName-signup"> | |||
| {formik.values.chName} | |||
| @@ -1690,7 +1693,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="formAddress"/>: | |||
| <FormattedMessage id="formAddress" />: | |||
| </Typography> | |||
| <Stack spacing={1} direction="column"> | |||
| <Typography variant="pnspsFormHeader" id="preview-address1-signup"> | |||
| @@ -1709,19 +1712,19 @@ const CustomFormWizard = (props) => { | |||
| {selectedAddress5.label === "hongKong" ? | |||
| <Stack direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]} id="preview-address4-signup"> | |||
| <FormattedMessage id="region"/>: | |||
| <FormattedMessage id="region" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader"> | |||
| {!selectedAddress4? "" : intl.formatMessage({id: selectedAddress4.type})} | |||
| {!selectedAddress4 ? "" : intl.formatMessage({ id: selectedAddress4.type })} | |||
| </Typography> | |||
| </Stack> | |||
| : null} | |||
| <Stack direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]} id="preview-address5-signup"> | |||
| <FormattedMessage id="regionOrCountry"/>: | |||
| <FormattedMessage id="regionOrCountry" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader"> | |||
| {intl.formatMessage({id: selectedAddress5.type})} | |||
| {intl.formatMessage({ id: selectedAddress5.type })} | |||
| </Typography> | |||
| </Stack> | |||
| </Stack> | |||
| @@ -1730,14 +1733,14 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} mt={1} mb={1}> | |||
| <Stack direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="yourContact"/> | |||
| <FormattedMessage id="yourContact" /> | |||
| </Typography> | |||
| </Stack> | |||
| </Grid> | |||
| <Grid item xs={12} md={12}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userContactEmail"/>: | |||
| <FormattedMessage id="userContactEmail" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-email-signup"> | |||
| {formik.values.email} | |||
| @@ -1747,7 +1750,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={6}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userContactNumber"/>: | |||
| <FormattedMessage id="userContactNumber" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-phone-signup"> | |||
| +{formik.values.phoneCountryCode} {formik.values.phone} | |||
| @@ -1758,7 +1761,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={6}> | |||
| <Stack spacing={1} direction="row"> | |||
| <Typography variant="pnspsFormHeader" color={theme.palette.grey[600]}> | |||
| <FormattedMessage id="userFaxNumber"/>: | |||
| <FormattedMessage id="userFaxNumber" />: | |||
| </Typography> | |||
| <Typography variant="pnspsFormHeader" id="preview-fax-signup"> | |||
| +{formik.values.faxCountryCode} {formik.values.fax} | |||
| @@ -1771,7 +1774,7 @@ const CustomFormWizard = (props) => { | |||
| <Grid item xs={12} md={12}> | |||
| <Stack spacing={1} direction="column" justifyContent="space-between" alignItems="baseline" sx={{ mb: { xs: -0.5, sm: 0.5 } }}> | |||
| <Typography display="inline" variant="h4" sx={{ color: 'primary.primary' }}> | |||
| <FormattedMessage id="userIdDoc"/> | |||
| <FormattedMessage id="userIdDoc" /> | |||
| </Typography> | |||
| {fileList != null ? | |||
| <PreviewUploadFileTable key="previewTable" recordList={fileListData} /> : null} | |||
| @@ -1794,13 +1797,13 @@ const CustomFormWizard = (props) => { | |||
| <Stack mt={1} direction="column" justifyContent="flex-start" alignItems="center" spacing={2}> | |||
| <CheckCircleOutlineIcon color="success" sx={{ width: "200px", height: "200px" }} /> | |||
| <Typography display="inline" variant="h4"> | |||
| <FormattedMessage id="registerSubmitted"/> | |||
| <FormattedMessage id="registerSubmitted" /> | |||
| </Typography> | |||
| <Typography display="inline" variant="h4"> | |||
| <FormattedMessage id="emailSent"/> | |||
| <FormattedMessage id="emailSent" /> | |||
| </Typography> | |||
| <Button variant="outlined" component={Link} to="/login" ><Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="backToLogin"/> | |||
| <FormattedMessage id="backToLogin" /> | |||
| </Typography></Button> | |||
| </Stack> | |||
| : | |||
| @@ -1812,7 +1815,7 @@ const CustomFormWizard = (props) => { | |||
| <FormattedMessage id="registerFail" /> | |||
| </Typography> | |||
| <Button color="error" variant="outlined" component={Link} to="/login" ><Typography variant="pnspsFormHeader"> | |||
| <FormattedMessage id="backToLogin"/> | |||
| <FormattedMessage id="backToLogin" /> | |||
| </Typography></Button> | |||
| </Stack> | |||
| } | |||