@movalib/movalib-commons 1.2.15 → 1.2.17
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/src/MovaSignUp.d.ts +1 -0
- package/dist/src/MovaSignUp.js +14 -14
- package/package.json +1 -1
- package/src/MovaSignUp.tsx +12 -8
package/dist/src/MovaSignUp.d.ts
CHANGED
package/dist/src/MovaSignUp.js
CHANGED
|
@@ -69,7 +69,6 @@ var InputAdornment_1 = __importDefault(require("@mui/material/InputAdornment"));
|
|
|
69
69
|
var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
|
|
70
70
|
var VisibilityOff_1 = __importDefault(require("@mui/icons-material/VisibilityOff"));
|
|
71
71
|
var Info_1 = __importDefault(require("@mui/icons-material/Info"));
|
|
72
|
-
var Logger_1 = __importDefault(require("./helpers/Logger"));
|
|
73
72
|
// ATTENTION : s'assurer de la présence des documents suivants à la racine du composant porteur (dossier 'public')
|
|
74
73
|
var CGUPath = "/Movalib_CGU.pdf";
|
|
75
74
|
// Permet de centrer le contenu de l'application
|
|
@@ -93,14 +92,14 @@ var initialUserFormState = {
|
|
|
93
92
|
* ATTENTION : le lien de consultation des CGU doit pointer vers "/terms-and-conditions"
|
|
94
93
|
*/
|
|
95
94
|
var MovaLogin = function (_a) {
|
|
96
|
-
var loading = _a.loading, movaAppType = _a.movaAppType, onSubmit = _a.onSubmit, _b = _a.darkMode, darkMode = _b === void 0 ? false : _b, alertMessage = _a.alertMessage, alertSeverity = _a.alertSeverity, headerText = _a.headerText, _c = _a.showHeaderLogo, showHeaderLogo = _c === void 0 ? true : _c, _d = _a.showLeafs, showLeafs = _d === void 0 ? true : _d, _e = _a.showCopyright, showCopyright = _e === void 0 ? true : _e, _f = _a.showLoginButton, showLoginButton = _f === void 0 ? true : _f, _g = _a.disableGutters, disableGutters = _g === void 0 ? false : _g;
|
|
97
|
-
var
|
|
95
|
+
var loading = _a.loading, movaAppType = _a.movaAppType, onSubmit = _a.onSubmit, _b = _a.darkMode, darkMode = _b === void 0 ? false : _b, alertMessage = _a.alertMessage, alertSeverity = _a.alertSeverity, headerText = _a.headerText, _c = _a.showHeaderLogo, showHeaderLogo = _c === void 0 ? true : _c, _d = _a.showLeafs, showLeafs = _d === void 0 ? true : _d, _e = _a.showCopyright, showCopyright = _e === void 0 ? true : _e, _f = _a.showLoginButton, showLoginButton = _f === void 0 ? true : _f, _g = _a.disableGutters, disableGutters = _g === void 0 ? false : _g, _h = _a.usePhoneNumber, usePhoneNumber = _h === void 0 ? true : _h;
|
|
96
|
+
var _j = (0, react_1.useState)(initialUserFormState), userForm = _j[0], setUserForm = _j[1];
|
|
98
97
|
var history = (0, react_router_dom_1.useHistory)();
|
|
99
|
-
var
|
|
98
|
+
var _k = (0, react_1.useState)(""), message = _k[0], setMessage = _k[1];
|
|
100
99
|
var theme = (0, material_1.useTheme)();
|
|
101
|
-
var
|
|
102
|
-
var
|
|
103
|
-
var
|
|
100
|
+
var _l = (0, react_1.useState)(false), showPassword = _l[0], setShowPassword = _l[1];
|
|
101
|
+
var _m = (0, react_1.useState)(false), openEmailInfo = _m[0], setOpenEmailInfo = _m[1];
|
|
102
|
+
var _o = (0, react_1.useState)(false), openPhoneNumberInfo = _o[0], setOpenPhoneNumberInfo = _o[1];
|
|
104
103
|
var handleDateChange = function (name, date) {
|
|
105
104
|
var _a;
|
|
106
105
|
if (name && date) {
|
|
@@ -170,7 +169,8 @@ var MovaLogin = function (_a) {
|
|
|
170
169
|
newForm.firstname = (0, Tools_1.validateField)(userForm.firstname, function (value) { return !!value; }, 'Champ obligatoire');
|
|
171
170
|
newForm.lastname = (0, Tools_1.validateField)(userForm.lastname, function (value) { return !!value; }, 'Champ obligatoire');
|
|
172
171
|
newForm.email = (0, Tools_1.validateField)(userForm.email, function (value) { return !!value; }, 'Champ obligatoire');
|
|
173
|
-
|
|
172
|
+
if (usePhoneNumber)
|
|
173
|
+
newForm.phoneNumber = (0, Tools_1.validateField)(userForm.phoneNumber, function (value) { return !!value; }, 'Champ obligatoire');
|
|
174
174
|
newForm.password = (0, Tools_1.validateField)(userForm.password, function (value) { return !!value; }, 'Champ obligatoire');
|
|
175
175
|
//newForm.gender = validateField(userForm.gender, value => !!value, 'Champ obligatoire');
|
|
176
176
|
//newForm.birthDate = validateField(userForm.birthDate, value => !!value && isValid(value), 'Champ obligatoire');
|
|
@@ -179,13 +179,13 @@ var MovaLogin = function (_a) {
|
|
|
179
179
|
// Validator pour le mot de passe
|
|
180
180
|
newForm.password = (0, Tools_1.validateField)(userForm.password, function (value) { return value.length >= 10 && /[a-z]/.test(value) && /[A-Z]/.test(value); }, 'Votre mot de passe doit faire au moins 10 caractères de long, contenir au moins une majuscule et une minuscule');
|
|
181
181
|
// Validator 'phoneNumber'
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
if (usePhoneNumber)
|
|
183
|
+
newForm.phoneNumber = (0, Tools_1.validateField)(userForm.phoneNumber, Validator_1.validatePhoneNumber, "Le n° de téléphone est invalide.");
|
|
184
184
|
// Validator pour les CGU
|
|
185
185
|
newForm.acceptsTerms = (0, Tools_1.validateField)(userForm.acceptsTerms, function (value) { return Boolean(value); }, 'Vous devez accepter les termes de nos CGU');
|
|
186
186
|
setUserForm(newForm);
|
|
187
187
|
return newForm.firstname.isValid && newForm.lastname.isValid && newForm.email.isValid && newForm.password.isValid
|
|
188
|
-
&& newForm.acceptsTerms.isValid && newForm.phoneNumber.isValid;
|
|
188
|
+
&& newForm.acceptsTerms.isValid && (usePhoneNumber ? newForm.phoneNumber.isValid : true);
|
|
189
189
|
};
|
|
190
190
|
var getMovaLogo = function () {
|
|
191
191
|
if (darkMode) {
|
|
@@ -229,9 +229,9 @@ var MovaLogin = function (_a) {
|
|
|
229
229
|
'& .MuiOutlinedInput-notchedOutline': {
|
|
230
230
|
borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
|
|
231
231
|
}
|
|
232
|
-
} }), (0, jsx_runtime_1.jsx)(material_1.TextField, { type: "tel", margin: "normal", required: true, fullWidth: true, id: "phoneNumber", label: "N\u00B0 de t\u00E9l\u00E9phone", name: "phoneNumber", autoComplete: "tel", onChange: function (e) { return handleInputChange(e); }, value: userForm.phoneNumber.value, error: Boolean(userForm.phoneNumber.error), helperText: userForm.phoneNumber.error, InputProps: {
|
|
233
|
-
|
|
234
|
-
|
|
232
|
+
} }), usePhoneNumber && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.TextField, { type: "tel", margin: "normal", required: true, fullWidth: true, id: "phoneNumber", label: "N\u00B0 de t\u00E9l\u00E9phone", name: "phoneNumber", autoComplete: "tel", onChange: function (e) { return handleInputChange(e); }, value: userForm.phoneNumber.value, error: Boolean(userForm.phoneNumber.error), helperText: userForm.phoneNumber.error, InputProps: {
|
|
233
|
+
endAdornment: ((0, jsx_runtime_1.jsx)(InputAdornment_1.default, __assign({ position: "end" }, { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, __assign({ edge: "end", onClick: function () { return setOpenPhoneNumberInfo(!openPhoneNumberInfo); } }, { children: (0, jsx_runtime_1.jsx)(Info_1.default, {}) })) }))),
|
|
234
|
+
} }), openPhoneNumberInfo && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: "info", variant: 'standard' }, { children: "Indispensable pour votre garagiste, il doit pouvoir vous appeler en cas d'impr\u00E9vu avec votre v\u00E9hicule." }))] }), (0, jsx_runtime_1.jsx)(material_1.TextField, { margin: "normal", required: true, fullWidth: true, id: "email", label: "Adresse email", name: "email", autoComplete: "email", onChange: function (e) { return handleInputChange(e); }, value: userForm.email.value, error: !userForm.email.isValid, helperText: userForm.email.error, sx: {
|
|
235
235
|
'& .MuiOutlinedInput-notchedOutline': {
|
|
236
236
|
borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
|
|
237
237
|
}
|
package/package.json
CHANGED
package/src/MovaSignUp.tsx
CHANGED
|
@@ -64,7 +64,8 @@ interface MovaSignUpProps {
|
|
|
64
64
|
showLeafs?: boolean,
|
|
65
65
|
showCopyright?: boolean,
|
|
66
66
|
showLoginButton?: boolean,
|
|
67
|
-
disableGutters?: boolean
|
|
67
|
+
disableGutters?: boolean,
|
|
68
|
+
usePhoneNumber?: boolean
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
/**
|
|
@@ -72,7 +73,7 @@ interface MovaSignUpProps {
|
|
|
72
73
|
* ATTENTION : le lien de consultation des CGU doit pointer vers "/terms-and-conditions"
|
|
73
74
|
*/
|
|
74
75
|
const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, onSubmit, darkMode = false, alertMessage, alertSeverity, headerText,
|
|
75
|
-
showHeaderLogo = true, showLeafs= true, showCopyright = true, showLoginButton = true, disableGutters = false}) => {
|
|
76
|
+
showHeaderLogo = true, showLeafs= true, showCopyright = true, showLoginButton = true, disableGutters = false, usePhoneNumber = true}) => {
|
|
76
77
|
|
|
77
78
|
const [userForm, setUserForm] = useState<MovaUserSignUpForm>(initialUserFormState);
|
|
78
79
|
const history = useHistory();
|
|
@@ -160,9 +161,9 @@ const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, o
|
|
|
160
161
|
newForm.firstname = validateField(userForm.firstname, value => !!value, 'Champ obligatoire');
|
|
161
162
|
newForm.lastname = validateField(userForm.lastname, value => !!value, 'Champ obligatoire');
|
|
162
163
|
newForm.email = validateField(userForm.email, value => !!value, 'Champ obligatoire');
|
|
163
|
-
newForm.phoneNumber = validateField(userForm.phoneNumber, value => !!value, 'Champ obligatoire');
|
|
164
|
-
|
|
165
164
|
|
|
165
|
+
if(usePhoneNumber)
|
|
166
|
+
newForm.phoneNumber = validateField(userForm.phoneNumber, value => !!value, 'Champ obligatoire');
|
|
166
167
|
|
|
167
168
|
newForm.password = validateField(userForm.password, value => !!value, 'Champ obligatoire');
|
|
168
169
|
//newForm.gender = validateField(userForm.gender, value => !!value, 'Champ obligatoire');
|
|
@@ -177,15 +178,16 @@ const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, o
|
|
|
177
178
|
'Votre mot de passe doit faire au moins 10 caractères de long, contenir au moins une majuscule et une minuscule');
|
|
178
179
|
|
|
179
180
|
// Validator 'phoneNumber'
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
if(usePhoneNumber)
|
|
182
|
+
newForm.phoneNumber = validateField(userForm.phoneNumber, validatePhoneNumber, "Le n° de téléphone est invalide.");
|
|
183
|
+
|
|
182
184
|
// Validator pour les CGU
|
|
183
185
|
newForm.acceptsTerms = validateField(userForm.acceptsTerms, value => Boolean(value), 'Vous devez accepter les termes de nos CGU');
|
|
184
186
|
|
|
185
187
|
setUserForm(newForm);
|
|
186
188
|
|
|
187
189
|
return newForm.firstname.isValid && newForm.lastname.isValid && newForm.email.isValid && newForm.password.isValid
|
|
188
|
-
&& newForm.acceptsTerms.isValid && newForm.phoneNumber.isValid;
|
|
190
|
+
&& newForm.acceptsTerms.isValid && (usePhoneNumber ? newForm.phoneNumber.isValid : true);
|
|
189
191
|
}
|
|
190
192
|
|
|
191
193
|
const getMovaLogo = () => {
|
|
@@ -275,7 +277,7 @@ const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, o
|
|
|
275
277
|
}
|
|
276
278
|
}}
|
|
277
279
|
/>
|
|
278
|
-
|
|
280
|
+
{usePhoneNumber && <><TextField
|
|
279
281
|
type="tel"
|
|
280
282
|
margin="normal"
|
|
281
283
|
required
|
|
@@ -301,6 +303,8 @@ const MovaLogin: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType, o
|
|
|
301
303
|
}}
|
|
302
304
|
/>
|
|
303
305
|
{openPhoneNumberInfo && <Alert severity="info" variant='standard'>Indispensable pour votre garagiste, il doit pouvoir vous appeler en cas d'imprévu avec votre véhicule.</Alert>}
|
|
306
|
+
</>
|
|
307
|
+
}
|
|
304
308
|
<TextField
|
|
305
309
|
margin="normal"
|
|
306
310
|
required
|