@movalib/movalib-commons 1.2.12 → 1.2.14
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/index.d.ts +1 -0
- package/dist/index.js +4 -2
- package/dist/src/DialogForgotPassword.d.ts +11 -0
- package/dist/src/DialogForgotPassword.js +28 -0
- package/dist/src/MovaLogin.js +54 -15
- package/index.ts +1 -0
- package/package.json +1 -1
- package/src/DialogForgotPassword.tsx +61 -0
- package/src/MovaLogin.tsx +21 -12
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { default as VehicleService } from './src/services/VehicleService';
|
|
|
2
2
|
export { default as AuthenticationService } from './src/services/AuthenticationService';
|
|
3
3
|
export { default as GarageService } from './src/services/GarageService';
|
|
4
4
|
export { default as UserService } from './src/services/UserService';
|
|
5
|
+
export { default as DialogForgotPassword } from './src/DialogForgotPassword';
|
|
5
6
|
export { default as IbanInput } from './src/IbanInput';
|
|
6
7
|
export { default as GaragePLV } from './src/GaragePLV';
|
|
7
8
|
export { default as AccountValidation } from './src/AccountValidation';
|
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.PrestationType = exports.RegistrationState = exports.SubscriptionPaymentInterval = exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = exports.RoleType = exports.request = exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.isSafariOniOS = exports.getDayOfWeekLabel = exports.findScheduleByDayOfWeek = exports.getFormattedIntervals = exports.getFormattedSchedule = void 0;
|
|
7
|
+
exports.flexLeftRow = exports.capitalizeFirstLetter = exports.getApplicationShortLabel = exports.isEmpty = exports.formatFrenchVehiclePlate = exports.formatVehicleTire = exports.validateField = exports.deleteCookie = exports.readCookie = exports.VehicleTire = exports.Event = exports.Schedule = exports.Garage = exports.Document = exports.Vehicle = exports.Address = exports.Role = exports.User = exports.Customer = exports.Logger = exports.Operation = exports.Prestation = exports.Product = exports.Supplier = exports.Employee = exports.Absence = exports.GenderSelector = exports.ConfirmationDialog = exports.MovaVehicleTireField = exports.MovaCopyright = exports.MovaSignUp = exports.MovaLogin = exports.MovaSnackbar = exports.TestButton = exports.VehiclePlateField = exports.QRCode = exports.MovaDialog = exports.Loader = exports.MovaDigitalPassport = exports.VehicleFullCard = exports.ScheduleFields = exports.AddressFields = exports.AccountValidation = exports.GaragePLV = exports.IbanInput = exports.DialogForgotPassword = exports.UserService = exports.GarageService = exports.AuthenticationService = exports.VehicleService = void 0;
|
|
8
|
+
exports.PrestationType = exports.RegistrationState = exports.SubscriptionPaymentInterval = exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = exports.RoleType = exports.request = exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.isSafariOniOS = exports.getDayOfWeekLabel = exports.findScheduleByDayOfWeek = exports.getFormattedIntervals = exports.getFormattedSchedule = exports.formatPhoneNumber = void 0;
|
|
9
9
|
// Export des services
|
|
10
10
|
var VehicleService_1 = require("./src/services/VehicleService");
|
|
11
11
|
Object.defineProperty(exports, "VehicleService", { enumerable: true, get: function () { return __importDefault(VehicleService_1).default; } });
|
|
@@ -16,6 +16,8 @@ Object.defineProperty(exports, "GarageService", { enumerable: true, get: functio
|
|
|
16
16
|
var UserService_1 = require("./src/services/UserService");
|
|
17
17
|
Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return __importDefault(UserService_1).default; } });
|
|
18
18
|
// Export des composants
|
|
19
|
+
var DialogForgotPassword_1 = require("./src/DialogForgotPassword");
|
|
20
|
+
Object.defineProperty(exports, "DialogForgotPassword", { enumerable: true, get: function () { return __importDefault(DialogForgotPassword_1).default; } });
|
|
19
21
|
var IbanInput_1 = require("./src/IbanInput");
|
|
20
22
|
Object.defineProperty(exports, "IbanInput", { enumerable: true, get: function () { return __importDefault(IbanInput_1).default; } });
|
|
21
23
|
var GaragePLV_1 = require("./src/GaragePLV");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MovaAppType } from './helpers/Enums';
|
|
3
|
+
declare const DialogForgotPassword: React.FC<{
|
|
4
|
+
openForgotPassword: boolean;
|
|
5
|
+
setOpenForgotPassword: React.Dispatch<React.SetStateAction<boolean>>;
|
|
6
|
+
movaAppType: MovaAppType;
|
|
7
|
+
form: any;
|
|
8
|
+
handleInputChange: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
9
|
+
handleSubmitForgotPassword: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
10
|
+
}>;
|
|
11
|
+
export default DialogForgotPassword;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
15
|
+
var react_1 = require("react");
|
|
16
|
+
var material_1 = require("@mui/material");
|
|
17
|
+
var Enums_1 = require("./helpers/Enums");
|
|
18
|
+
var Validator_1 = require("./helpers/Validator");
|
|
19
|
+
var DialogForgotPassword = function (_a) {
|
|
20
|
+
var openForgotPassword = _a.openForgotPassword, setOpenForgotPassword = _a.setOpenForgotPassword, movaAppType = _a.movaAppType, form = _a.form, handleInputChange = _a.handleInputChange, handleSubmitForgotPassword = _a.handleSubmitForgotPassword;
|
|
21
|
+
var defaultMessage = (0, react_1.useState)("Êtes-vous sûr de vouloir continuer ?")[0];
|
|
22
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Dialog, __assign({ open: openForgotPassword, onClose: function () { return setOpenForgotPassword(false); }, "aria-labelledby": "forgot-password-dialog-title", "aria-describedby": "forgot-password-dialog-description" }, { children: [(0, jsx_runtime_1.jsx)(material_1.DialogTitle, __assign({ id: "forgot-password-title" }, { children: "R\u00E9cup\u00E9ration du mot de passe" })), (0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [(0, jsx_runtime_1.jsx)(material_1.DialogContentText, __assign({ id: "forgot-password-dialog-description", sx: { mb: 2 } }, { children: movaAppType === Enums_1.MovaAppType.GARAGE ?
|
|
23
|
+
"Saisissez votre email pour procéder à la réinitialisation de votre mot de passe."
|
|
24
|
+
:
|
|
25
|
+
"Saisissez votre n° de téléphone ou votre email pour procéder à la réinitialisation de votre mot de passe." })), (0, jsx_runtime_1.jsx)(material_1.TextField, { margin: "normal", autoFocus: true, required: true, fullWidth: true, id: movaAppType === Enums_1.MovaAppType.GARAGE ? "email" : "phoneNumberEmail", label: movaAppType === Enums_1.MovaAppType.GARAGE ? "Adresse email" : "N° de téléphone ou adresse email", name: movaAppType === Enums_1.MovaAppType.GARAGE ? "email" : "phoneNumberEmail", autoComplete: "email", onChange: function (e) { return handleInputChange(e); }, value: movaAppType === Enums_1.MovaAppType.GARAGE ? form.email.value : form.phoneNumberEmail.value, error: movaAppType === Enums_1.MovaAppType.GARAGE ? !form.email.isValid : !form.phoneNumberEmail.isValid, helperText: movaAppType === Enums_1.MovaAppType.GARAGE ? form.email.error : form.phoneNumberEmail.error })] }), (0, jsx_runtime_1.jsx)(material_1.DialogActions, { children: (0, jsx_runtime_1.jsx)(material_1.Button, __assign({ onClick: function (e) { return handleSubmitForgotPassword(e); }, color: "primary", disabled: movaAppType === Enums_1.MovaAppType.GARAGE ? !(form.email.value && (0, Validator_1.validateEmail)(form.email.value))
|
|
26
|
+
: !(form.phoneNumberEmail.value), sx: { ml: 1 } }, { children: "Envoyer ma demande" })) })] })));
|
|
27
|
+
};
|
|
28
|
+
exports.default = DialogForgotPassword;
|
package/dist/src/MovaLogin.js
CHANGED
|
@@ -68,6 +68,7 @@ var react_router_dom_1 = require("react-router-dom");
|
|
|
68
68
|
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
|
+
var DialogForgotPassword_1 = __importDefault(require("./DialogForgotPassword"));
|
|
71
72
|
// Permet de centrer le contenu de l'application
|
|
72
73
|
var styles = {
|
|
73
74
|
display: 'flex',
|
|
@@ -145,19 +146,18 @@ var MovaLogin = function (_a) {
|
|
|
145
146
|
movaAppType === Enums_1.MovaAppType.ADMIN ? logo_large_border_png_1.default : logo_large_border_png_1.default;
|
|
146
147
|
}
|
|
147
148
|
};
|
|
148
|
-
var handleOnClickSignUp = function (
|
|
149
|
-
e.preventDefault();
|
|
149
|
+
var handleOnClickSignUp = function () {
|
|
150
|
+
//e.preventDefault();
|
|
150
151
|
if (history) {
|
|
151
152
|
// On redirige l'utilisateur vers la page par défaut (accueil)
|
|
152
153
|
history.push('/signup');
|
|
153
154
|
}
|
|
154
155
|
};
|
|
155
|
-
var handleOnClickForgotPassword = function (
|
|
156
|
-
e.preventDefault();
|
|
156
|
+
var handleOnClickForgotPassword = function () {
|
|
157
|
+
//e.preventDefault();
|
|
157
158
|
setOpenForgotPassword(true);
|
|
158
159
|
};
|
|
159
|
-
var handleSubmitForgotPassword = function (
|
|
160
|
-
e.preventDefault();
|
|
160
|
+
var handleSubmitForgotPassword = function () {
|
|
161
161
|
setOpenForgotPassword(false);
|
|
162
162
|
// On appel de callback de soumission de la demande de réinitialisation du mot de passe
|
|
163
163
|
if (onSubmitForgotPassword) {
|
|
@@ -170,14 +170,52 @@ var MovaLogin = function (_a) {
|
|
|
170
170
|
/**
|
|
171
171
|
* Boite de diaogue pour la perte du mot de passe
|
|
172
172
|
*/
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
173
|
+
/* const dialogForgotPassword = () => {
|
|
174
|
+
const defaultMessage = "Êtes-vous sûr de vouloir continuer ?";
|
|
175
|
+
|
|
176
|
+
return (
|
|
177
|
+
<Dialog
|
|
178
|
+
open={openForgotPassword}
|
|
179
|
+
onClose={() => setOpenForgotPassword(false)}
|
|
180
|
+
aria-labelledby="forgot-password-dialog-title"
|
|
181
|
+
aria-describedby="forgot-password-dialog-description"
|
|
182
|
+
>
|
|
183
|
+
<DialogTitle id="forgot-password-title">Récupération du mot de passe</DialogTitle>
|
|
184
|
+
<DialogContent>
|
|
185
|
+
<DialogContentText id="forgot-password-dialog-description" sx={{ mb: 2 }}>
|
|
186
|
+
{movaAppType === MovaAppType.GARAGE ?
|
|
187
|
+
"Saisissez votre email pour procéder à la réinitialisation de votre mot de passe."
|
|
188
|
+
:
|
|
189
|
+
"Saisissez votre n° de téléphone ou votre email pour procéder à la réinitialisation de votre mot de passe."
|
|
190
|
+
}
|
|
191
|
+
</DialogContentText>
|
|
192
|
+
<TextField
|
|
193
|
+
margin="normal"
|
|
194
|
+
autoFocus
|
|
195
|
+
required
|
|
196
|
+
fullWidth
|
|
197
|
+
id={movaAppType === MovaAppType.GARAGE ? "email" : "phoneNumberEmail"}
|
|
198
|
+
label={movaAppType === MovaAppType.GARAGE ? "Adresse email" : "N° de téléphone ou adresse email"}
|
|
199
|
+
name={movaAppType === MovaAppType.GARAGE ? "email" : "phoneNumberEmail"}
|
|
200
|
+
autoComplete="email"
|
|
201
|
+
onChange={e => handleInputChange(e)}
|
|
202
|
+
value={movaAppType === MovaAppType.GARAGE ? form.email.value : form.phoneNumberEmail.value}
|
|
203
|
+
error={movaAppType === MovaAppType.GARAGE ? !form.email.isValid : !form.phoneNumberEmail.isValid}
|
|
204
|
+
helperText={movaAppType === MovaAppType.GARAGE ? form.email.error : form.phoneNumberEmail.error}
|
|
205
|
+
/>
|
|
206
|
+
</DialogContent>
|
|
207
|
+
<DialogActions>
|
|
208
|
+
<Button onClick={(e) => handleSubmitForgotPassword(e)}
|
|
209
|
+
color="primary"
|
|
210
|
+
disabled={movaAppType === MovaAppType.GARAGE ? !(form.email.value && validateEmail(form.email.value))
|
|
211
|
+
: !(form.phoneNumberEmail.value)}
|
|
212
|
+
sx={{ ml: 1}}>
|
|
213
|
+
Envoyer ma demande
|
|
214
|
+
</Button>
|
|
215
|
+
</DialogActions>
|
|
216
|
+
</Dialog>
|
|
217
|
+
);
|
|
218
|
+
} */
|
|
181
219
|
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: styles }, { children: [(0, jsx_runtime_1.jsx)("img", { src: leaf_green_large_png_1.default, style: { position: 'fixed',
|
|
182
220
|
float: 'left',
|
|
183
221
|
width: '250px',
|
|
@@ -206,7 +244,8 @@ var MovaLogin = function (_a) {
|
|
|
206
244
|
'& .MuiOutlinedInput-notchedOutline': {
|
|
207
245
|
borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
|
|
208
246
|
}
|
|
209
|
-
} }), (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { value: "remember", color: "primary" }), label: "Se souvenir de moi" }), (0, jsx_runtime_1.jsx)(lab_1.LoadingButton, __assign({ loading: loading, type: "submit", fullWidth: true, variant: "contained", sx: { mt: 3, mb: 2, backgroundColor: darkMode ? theme.palette.primary.dark : theme.palette.primary.main } }, { children: (0, jsx_runtime_1.jsx)("span", { children: "Se connecter" }) })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: true }, { children: (0, jsx_runtime_1.jsx)(material_1.Link, __assign({ variant: "body2", color: "text.secondary", onClick: function (e) { return handleOnClickForgotPassword(
|
|
247
|
+
} }), (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { value: "remember", color: "primary" }), label: "Se souvenir de moi" }), (0, jsx_runtime_1.jsx)(lab_1.LoadingButton, __assign({ loading: loading, type: "submit", fullWidth: true, variant: "contained", sx: { mt: 3, mb: 2, backgroundColor: darkMode ? theme.palette.primary.dark : theme.palette.primary.main } }, { children: (0, jsx_runtime_1.jsx)("span", { children: "Se connecter" }) })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: true }, { children: (0, jsx_runtime_1.jsx)(material_1.Link, __assign({ variant: "body2", color: "text.secondary", onClick: function (e) { return handleOnClickForgotPassword(); }, sx: { cursor: 'pointer' } }, { children: "Mot de passe oubli\u00E9 ?" })) })), movaAppType === Enums_1.MovaAppType.INDIVIDUAL && (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true }, { children: (0, jsx_runtime_1.jsx)(material_1.Link, __assign({ variant: "body2", color: "text.secondary", onClick: function (e) { return handleOnClickSignUp(); }, sx: { cursor: 'pointer' } }, { children: "Cr\u00E9er mon compte" })) }))] }))] })), (0, jsx_runtime_1.jsx)(MovaCopyright_1.default, { sx: { mt: 8, mb: 1 } }), version && (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: 'body2', color: theme.palette.grey[200], sx: { textAlign: 'center' } }, { children: version })), openForgotPassword &&
|
|
248
|
+
(0, jsx_runtime_1.jsx)(DialogForgotPassword_1.default, { openForgotPassword: openForgotPassword, setOpenForgotPassword: setOpenForgotPassword, movaAppType: movaAppType, form: form, handleInputChange: handleInputChange, handleSubmitForgotPassword: handleSubmitForgotPassword })] })), (0, jsx_runtime_1.jsx)("img", { src: leaf_pink_large_png_1.default, style: { position: 'fixed',
|
|
210
249
|
float: 'right',
|
|
211
250
|
width: '250px',
|
|
212
251
|
height: '400px',
|
package/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { default as GarageService } from './src/services/GarageService';
|
|
|
7
7
|
export { default as UserService } from './src/services/UserService';
|
|
8
8
|
|
|
9
9
|
// Export des composants
|
|
10
|
+
export { default as DialogForgotPassword } from './src/DialogForgotPassword';
|
|
10
11
|
export { default as IbanInput } from './src/IbanInput';
|
|
11
12
|
export { default as GaragePLV } from './src/GaragePLV';
|
|
12
13
|
export { default as AccountValidation } from './src/AccountValidation';
|
package/package.json
CHANGED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, TextField } from '@mui/material';
|
|
3
|
+
import { MovaAppType } from './helpers/Enums';
|
|
4
|
+
import { validateEmail } from './helpers/Validator';
|
|
5
|
+
|
|
6
|
+
const DialogForgotPassword: React.FC<{
|
|
7
|
+
openForgotPassword: boolean;
|
|
8
|
+
setOpenForgotPassword: React.Dispatch<React.SetStateAction<boolean>>; // Ajout de setOpenForgotPassword
|
|
9
|
+
movaAppType: MovaAppType;
|
|
10
|
+
form: any;
|
|
11
|
+
handleInputChange: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
12
|
+
handleSubmitForgotPassword: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
13
|
+
}> = ({ openForgotPassword, setOpenForgotPassword, movaAppType, form, handleInputChange, handleSubmitForgotPassword }) => {
|
|
14
|
+
|
|
15
|
+
const [defaultMessage] = useState("Êtes-vous sûr de vouloir continuer ?");
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<Dialog
|
|
19
|
+
open={openForgotPassword}
|
|
20
|
+
onClose={() => setOpenForgotPassword(false)}
|
|
21
|
+
aria-labelledby="forgot-password-dialog-title"
|
|
22
|
+
aria-describedby="forgot-password-dialog-description"
|
|
23
|
+
>
|
|
24
|
+
<DialogTitle id="forgot-password-title">Récupération du mot de passe</DialogTitle>
|
|
25
|
+
<DialogContent>
|
|
26
|
+
<DialogContentText id="forgot-password-dialog-description" sx={{ mb: 2 }}>
|
|
27
|
+
{movaAppType === MovaAppType.GARAGE ?
|
|
28
|
+
"Saisissez votre email pour procéder à la réinitialisation de votre mot de passe."
|
|
29
|
+
:
|
|
30
|
+
"Saisissez votre n° de téléphone ou votre email pour procéder à la réinitialisation de votre mot de passe."
|
|
31
|
+
}
|
|
32
|
+
</DialogContentText>
|
|
33
|
+
<TextField
|
|
34
|
+
margin="normal"
|
|
35
|
+
autoFocus
|
|
36
|
+
required
|
|
37
|
+
fullWidth
|
|
38
|
+
id={movaAppType === MovaAppType.GARAGE ? "email" : "phoneNumberEmail"}
|
|
39
|
+
label={movaAppType === MovaAppType.GARAGE ? "Adresse email" : "N° de téléphone ou adresse email"}
|
|
40
|
+
name={movaAppType === MovaAppType.GARAGE ? "email" : "phoneNumberEmail"}
|
|
41
|
+
autoComplete="email"
|
|
42
|
+
onChange={e => handleInputChange(e)}
|
|
43
|
+
value={movaAppType === MovaAppType.GARAGE ? form.email.value : form.phoneNumberEmail.value}
|
|
44
|
+
error={movaAppType === MovaAppType.GARAGE ? !form.email.isValid : !form.phoneNumberEmail.isValid}
|
|
45
|
+
helperText={movaAppType === MovaAppType.GARAGE ? form.email.error : form.phoneNumberEmail.error}
|
|
46
|
+
/>
|
|
47
|
+
</DialogContent>
|
|
48
|
+
<DialogActions>
|
|
49
|
+
<Button onClick={(e) => handleSubmitForgotPassword(e)}
|
|
50
|
+
color="primary"
|
|
51
|
+
disabled={movaAppType === MovaAppType.GARAGE ? !(form.email.value && validateEmail(form.email.value))
|
|
52
|
+
: !(form.phoneNumberEmail.value)}
|
|
53
|
+
sx={{ ml: 1 }}>
|
|
54
|
+
Envoyer ma demande
|
|
55
|
+
</Button>
|
|
56
|
+
</DialogActions>
|
|
57
|
+
</Dialog>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export default DialogForgotPassword;
|
package/src/MovaLogin.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSSProperties, FormEvent, FunctionComponent, ReactNode, useState } from "react";
|
|
1
|
+
import { CSSProperties, ChangeEvent, FormEvent, FunctionComponent, MouseEvent, ReactNode, SetStateAction, useState } from "react";
|
|
2
2
|
import { LoadingButton } from '@mui/lab';
|
|
3
3
|
import LogoLarge from './assets/images/logo/logo_large_border.png';
|
|
4
4
|
import LogoProLarge from './assets/images/logo/logo_pro_large_border.png';
|
|
@@ -17,6 +17,7 @@ import { useHistory } from "react-router-dom";
|
|
|
17
17
|
import InputAdornment from '@mui/material/InputAdornment';
|
|
18
18
|
import Visibility from '@mui/icons-material/Visibility';
|
|
19
19
|
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
|
20
|
+
import DialogForgotPassword from "./DialogForgotPassword";
|
|
20
21
|
|
|
21
22
|
// Permet de centrer le contenu de l'application
|
|
22
23
|
const styles: CSSProperties = {
|
|
@@ -128,21 +129,20 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
|
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
|
|
131
|
-
const handleOnClickSignUp = (
|
|
132
|
-
e.preventDefault();
|
|
132
|
+
const handleOnClickSignUp = () => {
|
|
133
|
+
//e.preventDefault();
|
|
133
134
|
if(history){
|
|
134
135
|
// On redirige l'utilisateur vers la page par défaut (accueil)
|
|
135
136
|
history.push('/signup');
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
|
|
139
|
-
const handleOnClickForgotPassword = (
|
|
140
|
-
e.preventDefault();
|
|
140
|
+
const handleOnClickForgotPassword = () => {
|
|
141
|
+
//e.preventDefault();
|
|
141
142
|
setOpenForgotPassword(true);
|
|
142
143
|
}
|
|
143
144
|
|
|
144
|
-
const handleSubmitForgotPassword = (
|
|
145
|
-
e.preventDefault();
|
|
145
|
+
const handleSubmitForgotPassword = () => {
|
|
146
146
|
|
|
147
147
|
setOpenForgotPassword(false);
|
|
148
148
|
// On appel de callback de soumission de la demande de réinitialisation du mot de passe
|
|
@@ -158,7 +158,7 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
|
|
|
158
158
|
/**
|
|
159
159
|
* Boite de diaogue pour la perte du mot de passe
|
|
160
160
|
*/
|
|
161
|
-
|
|
161
|
+
/* const dialogForgotPassword = () => {
|
|
162
162
|
const defaultMessage = "Êtes-vous sûr de vouloir continuer ?";
|
|
163
163
|
|
|
164
164
|
return (
|
|
@@ -203,7 +203,7 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
|
|
|
203
203
|
</DialogActions>
|
|
204
204
|
</Dialog>
|
|
205
205
|
);
|
|
206
|
-
}
|
|
206
|
+
} */
|
|
207
207
|
|
|
208
208
|
return (
|
|
209
209
|
<div style={styles}>
|
|
@@ -324,12 +324,12 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
|
|
|
324
324
|
|
|
325
325
|
<Grid container>
|
|
326
326
|
<Grid item xs>
|
|
327
|
-
<Link variant="body2" color="text.secondary" onClick={(e) => handleOnClickForgotPassword(
|
|
327
|
+
<Link variant="body2" color="text.secondary" onClick={(e) => handleOnClickForgotPassword()} sx={{ cursor:'pointer' }}>
|
|
328
328
|
Mot de passe oublié ?
|
|
329
329
|
</Link>
|
|
330
330
|
</Grid>
|
|
331
331
|
{movaAppType === MovaAppType.INDIVIDUAL && <Grid item>
|
|
332
|
-
<Link variant="body2" color="text.secondary" onClick={(e) => handleOnClickSignUp(
|
|
332
|
+
<Link variant="body2" color="text.secondary" onClick={(e) => handleOnClickSignUp()} sx={{ cursor:'pointer' }}>
|
|
333
333
|
Créer mon compte
|
|
334
334
|
</Link>
|
|
335
335
|
</Grid>}
|
|
@@ -341,7 +341,16 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
|
|
|
341
341
|
{version&& <Typography variant='body2' color={theme.palette.grey[200]} sx={{ textAlign: 'center'}}>
|
|
342
342
|
{version}</Typography>}
|
|
343
343
|
|
|
344
|
-
{openForgotPassword &&
|
|
344
|
+
{openForgotPassword &&
|
|
345
|
+
<DialogForgotPassword
|
|
346
|
+
openForgotPassword={openForgotPassword}
|
|
347
|
+
setOpenForgotPassword={setOpenForgotPassword}
|
|
348
|
+
movaAppType={movaAppType}
|
|
349
|
+
form={form}
|
|
350
|
+
handleInputChange={handleInputChange}
|
|
351
|
+
handleSubmitForgotPassword={handleSubmitForgotPassword}
|
|
352
|
+
/>
|
|
353
|
+
}
|
|
345
354
|
|
|
346
355
|
|
|
347
356
|
</Container>
|