@movalib/movalib-commons 1.68.7 → 1.68.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/devIndex.tsx CHANGED
@@ -77,7 +77,7 @@ const App = () => {
77
77
  const getQRCodeData = ():string => {
78
78
  // On renvoie les données pour le QR Code, l'url change selon l'environnement (variables d'environnement)
79
79
  //return `https://app.movalib.com/#/garage/2?redirect=garage`;
80
- return `https://forms.gle/TabzYcYiaLNfhTu7A`;
80
+ return `https://movalib.com/info-contact-agiless-2/`;
81
81
  }
82
82
 
83
83
  const handleScheduleChange = (schedule: DaySchedule[]) => {
package/dist/devIndex.js CHANGED
@@ -105,7 +105,7 @@ var App = function () {
105
105
  var getQRCodeData = function () {
106
106
  // On renvoie les données pour le QR Code, l'url change selon l'environnement (variables d'environnement)
107
107
  //return `https://app.movalib.com/#/garage/2?redirect=garage`;
108
- return "https://forms.gle/TabzYcYiaLNfhTu7A";
108
+ return "https://movalib.com/info-contact-agiless-2/";
109
109
  };
110
110
  var handleScheduleChange = function (schedule) {
111
111
  if (schedule) {
@@ -23,7 +23,6 @@ var Logger_1 = __importDefault(require("./helpers/Logger"));
23
23
  var InputAdornment_1 = __importDefault(require("@mui/material/InputAdornment"));
24
24
  var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
25
25
  var VisibilityOff_1 = __importDefault(require("@mui/icons-material/VisibilityOff"));
26
- var lab_1 = require("@mui/lab");
27
26
  var Enums_1 = require("./helpers/Enums");
28
27
  var Tools_1 = require("./helpers/Tools");
29
28
  var MovaDialog_1 = __importDefault(require("./MovaDialog"));
@@ -260,7 +259,7 @@ var AccountValidation = function (_a) {
260
259
  return ((0, jsx_runtime_1.jsxs)("div", { children: [(emptyPwd || smsValidation || resetPassword || true) &&
261
260
  (0, jsx_runtime_1.jsx)(MovaDialog_1.default, __assign({ leafImageColor: 'pink', titleStyle: getTitleStyle(), fullScreen: isMobile, open: emptyPwd || smsValidation || resetPassword || true, closable: false, onClose: function () {
262
261
  throw new Error('Function not implemented.');
263
- }, actions: (0, jsx_runtime_1.jsx)(lab_1.LoadingButton, __assign({ loading: loadingBtn, type: "submit", onClick: handleValidateAccount, fullWidth: true, variant: "contained", sx: { mt: 4, mb: 0 } }, { children: resetPassword ? (0, jsx_runtime_1.jsx)("span", { children: "R\u00E9initialiser mon mot de passe" }) : (0, jsx_runtime_1.jsx)("span", { children: "Activer mon compte" }) })) }, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, __assign({ sx: {
262
+ }, actions: (0, jsx_runtime_1.jsx)(material_1.Button, __assign({ loading: loadingBtn, type: "submit", onClick: handleValidateAccount, fullWidth: true, variant: "contained", sx: { mt: 4, mb: 0 } }, { children: resetPassword ? (0, jsx_runtime_1.jsx)("span", { children: "R\u00E9initialiser mon mot de passe" }) : (0, jsx_runtime_1.jsx)("span", { children: "Activer mon compte" }) })) }, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, __assign({ sx: {
264
263
  display: 'flex',
265
264
  flexDirection: 'column',
266
265
  alignItems: 'center',
@@ -52,7 +52,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var jsx_runtime_1 = require("react/jsx-runtime");
54
54
  var react_1 = require("react");
55
- var lab_1 = require("@mui/lab");
56
55
  var logo_large_border_png_1 = __importDefault(require("./assets/images/logo/logo_large_border.png"));
57
56
  var logo_pro_large_border_png_1 = __importDefault(require("./assets/images/logo/logo_pro_large_border.png"));
58
57
  var logo_admin_large_png_1 = __importDefault(require("./assets/images/logo/logo_admin_large.png"));
@@ -262,7 +261,7 @@ var MovaLogin = function (_a) {
262
261
  '& .MuiOutlinedInput-notchedOutline': {
263
262
  borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
264
263
  }
265
- } }), (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" }) })), movaAppType === Enums_1.MovaAppType.INDIVIDUAL && (0, jsx_runtime_1.jsx)(material_1.Button, __assign({ fullWidth: true, variant: "outlined", onClick: function (e) { return handleOnClickSignUp(); }, sx: { mb: 2, color: theme.palette.primary.dark } }, { children: (0, jsx_runtime_1.jsx)("span", { children: "CR\u00C9ER MON COMPTE" }) })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (0, jsx_runtime_1.jsx)(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 ?" })) })) }))] })), (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 &&
264
+ } }), (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)(material_1.Button, __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" }) })), movaAppType === Enums_1.MovaAppType.INDIVIDUAL && (0, jsx_runtime_1.jsx)(material_1.Button, __assign({ fullWidth: true, variant: "outlined", onClick: function (e) { return handleOnClickSignUp(); }, sx: { mb: 2, color: theme.palette.primary.dark } }, { children: (0, jsx_runtime_1.jsx)("span", { children: "CR\u00C9ER MON COMPTE" }) })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (0, jsx_runtime_1.jsx)(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 ?" })) })) }))] })), (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 &&
266
265
  (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',
267
266
  float: 'right',
268
267
  width: '250px',
@@ -52,7 +52,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var jsx_runtime_1 = require("react/jsx-runtime");
54
54
  var react_1 = require("react");
55
- var lab_1 = require("@mui/lab");
56
55
  var logo_large_border_png_1 = __importDefault(require("./assets/images/logo/logo_large_border.png"));
57
56
  var logo_pro_large_border_png_1 = __importDefault(require("./assets/images/logo/logo_pro_large_border.png"));
58
57
  var logo_large_dm_png_1 = __importDefault(require("./assets/images/logo/logo_large_dm.png"));
@@ -278,7 +277,7 @@ var MovaSignUp = function (_a) {
278
277
  '& .MuiOutlinedInput-notchedOutline': {
279
278
  borderColor: darkMode ? 'white' : 'default', // Couleur de la bordure
280
279
  }
281
- } }), (0, jsx_runtime_1.jsxs)(material_1.FormControl, __assign({ error: !userForm.acceptsTerms.isValid }, { children: [(0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { name: "acceptsTerms", color: "primary", checked: userForm.acceptsTerms.value, onChange: function (e, checked) { return handleCheckboxChange(e, checked); } }), label: (0, jsx_runtime_1.jsxs)("span", { children: ["J'accepte les", ' ', (0, jsx_runtime_1.jsx)(material_1.Link, __assign({ href: CGUPath, target: "_blank" }, { children: "Conditions G\u00E9n\u00E9rales d'Utilisation" }))] }) }), (0, jsx_runtime_1.jsx)(material_1.FormHelperText, { children: userForm.acceptsTerms.error })] })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (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: "Cr\u00E9er mon compte" }) })), showLoginButton && (0, jsx_runtime_1.jsx)(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 handleOnClickLogin(e); }, sx: { cursor: 'pointer' } }, { children: "Se connecter" })) })) }))] })), showCopyright && (0, jsx_runtime_1.jsx)(MovaCopyright_1.default, { sx: { mt: 8, mb: 4 } })] })), showLeafs && (0, jsx_runtime_1.jsx)("img", { src: leaf_pink_large_png_1.default, style: { position: 'fixed',
280
+ } }), (0, jsx_runtime_1.jsxs)(material_1.FormControl, __assign({ error: !userForm.acceptsTerms.isValid }, { children: [(0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { name: "acceptsTerms", color: "primary", checked: userForm.acceptsTerms.value, onChange: function (e, checked) { return handleCheckboxChange(e, checked); } }), label: (0, jsx_runtime_1.jsxs)("span", { children: ["J'accepte les", ' ', (0, jsx_runtime_1.jsx)(material_1.Link, __assign({ href: CGUPath, target: "_blank" }, { children: "Conditions G\u00E9n\u00E9rales d'Utilisation" }))] }) }), (0, jsx_runtime_1.jsx)(material_1.FormHelperText, { children: userForm.acceptsTerms.error })] })), alertMessage && alertSeverity && (0, jsx_runtime_1.jsx)(material_1.Alert, __assign({ severity: alertSeverity, sx: { mb: 2 } }, { children: alertMessage })), (0, jsx_runtime_1.jsx)(material_1.Button, __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: "Cr\u00E9er mon compte" }) })), showLoginButton && (0, jsx_runtime_1.jsx)(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 handleOnClickLogin(e); }, sx: { cursor: 'pointer' } }, { children: "Se connecter" })) })) }))] })), showCopyright && (0, jsx_runtime_1.jsx)(MovaCopyright_1.default, { sx: { mt: 8, mb: 4 } })] })), showLeafs && (0, jsx_runtime_1.jsx)("img", { src: leaf_pink_large_png_1.default, style: { position: 'fixed',
282
281
  float: 'right',
283
282
  width: '250px',
284
283
  height: '400px',
@@ -190,7 +190,7 @@ var ScheduleFields = function (_a) {
190
190
  onChange(newSchedule);
191
191
  setSchedule(newSchedule);
192
192
  }; };
193
- return ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ container: true, spacing: 1, sx: { minWidth: '650px', maxWidth: '800px' } }, { children: schedule.map(function (daySchedule, dayIndex) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 2 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: daySchedule.checked, onChange: handleDayChecked(dayIndex) }), label: (0, Tools_1.getDayOfWeekLabel)(daySchedule.day) }) }), dayIndex + 1), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 7 }, { children: daySchedule.intervals.map(function (interval, intervalIndex) { return ((0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true, style: { paddingTop: intervalIndex > 0 ? theme_1.default.spacing(1) : 0 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 6, sx: { textAlign: 'center' } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.TimePicker, { views: ['hours', 'minutes'], minutesStep: timePickerStep !== null && timePickerStep !== void 0 ? timePickerStep : 30, disabled: !daySchedule.checked, value: interval.startTime, formatDensity: 'dense', closeOnSelect: false, onChange: handleIntervalChange(dayIndex, intervalIndex, 'startTime'), slotProps: {
193
+ return ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ container: true, spacing: 1, sx: { minWidth: '650px', maxWidth: '800px' } }, { children: schedule.map(function (daySchedule, dayIndex) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 2 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: daySchedule.checked, onChange: handleDayChecked(dayIndex) }), label: (0, Tools_1.getDayOfWeekLabel)(daySchedule.day) }) }), dayIndex + 1), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 7 }, { children: daySchedule.intervals.map(function (interval, intervalIndex) { return ((0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true, style: { paddingTop: intervalIndex > 0 ? theme_1.default.spacing(1) : 0 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 6, sx: { textAlign: 'center' } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.TimePicker, { views: ['hours', 'minutes'], minutesStep: timePickerStep !== null && timePickerStep !== void 0 ? timePickerStep : 30, disabled: !daySchedule.checked, value: interval.startTime ? new Date(interval.startTime) : null, formatDensity: 'dense', closeOnSelect: false, onChange: handleIntervalChange(dayIndex, intervalIndex, 'startTime'), slotProps: {
194
194
  textField: {
195
195
  size: 'small',
196
196
  sx: {
@@ -202,7 +202,7 @@ var ScheduleFields = function (_a) {
202
202
  actionBar: {
203
203
  sx: { display: 'none' },
204
204
  },
205
- } }) }), (intervalIndex + 1) * Math.random()), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 6, sx: { display: 'contents' } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.TimePicker, { minutesStep: timePickerStep !== null && timePickerStep !== void 0 ? timePickerStep : 30, disabled: !(interval.startTime instanceof Date), value: interval.endTime, formatDensity: 'dense', onChange: handleIntervalChange(dayIndex, intervalIndex, 'endTime'), closeOnSelect: false, slotProps: {
205
+ } }) }), (intervalIndex + 1) * Math.random()), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 6, sx: { display: 'contents' } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.TimePicker, { minutesStep: timePickerStep !== null && timePickerStep !== void 0 ? timePickerStep : 30, disabled: !(interval.startTime instanceof Date), value: interval.endTime ? new Date(interval.endTime) : null, formatDensity: 'dense', onChange: handleIntervalChange(dayIndex, intervalIndex, 'endTime'), closeOnSelect: false, slotProps: {
206
206
  textField: {
207
207
  size: 'small',
208
208
  sx: {
@@ -346,16 +346,15 @@ var VehicleFullCard = function (_a) {
346
346
  "& input": { textTransform: "uppercase" }, // CSS pour forcer les majuscules dans l'input
347
347
  } }) }))), !localEditMode && ((0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true, textAlign: "justify", sx: { pt: 2 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 8 }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: "Dernier contr\u00F4le technique :" })) })), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 4, sx: { textAlign: "right" } }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: (0, jsx_runtime_1.jsx)("b", { children: (0, DateUtils_1.formatDateByTimezone)(vehicle.lastInspectionDate, "Europe/Paris", Enums_1.DateFormatTypes.SHORT_FORMAT_DATE) !== ""
348
348
  ? (0, DateUtils_1.formatDateByTimezone)(vehicle.lastInspectionDate, "Europe/Paris", Enums_1.DateFormatTypes.SHORT_FORMAT_DATE)
349
- : "-" }) })) }))] }))), localEditMode && ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, __assign({ fullWidth: true, sx: { marginTop: 2 } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.DatePicker, { label: "Dernier contrôle technique", name: "lastInspectionDate", value: form.lastInspectionDate.value
349
+ : "-" }) })) }))] }))), localEditMode && ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, __assign({ fullWidth: true, sx: { marginTop: 2 } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.DatePicker, { label: "Dernier contrôle technique", name: "lastInspectionDate", value: (form.lastInspectionDate.value
350
350
  ? (0, moment_1.default)(form.lastInspectionDate.value)
351
- : null, format: "DD/MM/YYYY", formatDensity: "dense", views: ["day"], displayWeekNumber: true, onChange: function (e) {
352
- var _a;
353
- return handleChange("lastInspectionDate", (_a = e === null || e === void 0 ? void 0 : e.toDate()) !== null && _a !== void 0 ? _a : null);
354
- } }) })) }))), !localEditMode && ((0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true, textAlign: "justify", sx: { pt: 2 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 8 }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: "Dernier entretien :" })) })), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 4, sx: { textAlign: "right" } }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: (0, jsx_runtime_1.jsx)("b", { children: (0, DateUtils_1.formatDateByTimezone)(vehicle.lastMaintenanceDate, "Europe/Paris", Enums_1.DateFormatTypes.SHORT_FORMAT_DATE) !== ""
351
+ : null), onChange: function (e) {
352
+ return handleChange("lastInspectionDate", e ? (0, moment_1.default)(e).toISOString() : "");
353
+ }, format: "DD/MM/YYYY", formatDensity: "dense", views: ["day"], displayWeekNumber: true }) })) }))), !localEditMode && ((0, jsx_runtime_1.jsxs)(material_1.Grid, __assign({ container: true, textAlign: "justify", sx: { pt: 2 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 8 }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: "Dernier entretien :" })) })), (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 4, sx: { textAlign: "right" } }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "body1", color: "text.secondary" }, { children: (0, jsx_runtime_1.jsx)("b", { children: (0, DateUtils_1.formatDateByTimezone)(vehicle.lastMaintenanceDate, "Europe/Paris", Enums_1.DateFormatTypes.SHORT_FORMAT_DATE) !== ""
355
354
  ? (0, DateUtils_1.formatDateByTimezone)(vehicle.lastMaintenanceDate, "Europe/Paris", Enums_1.DateFormatTypes.SHORT_FORMAT_DATE)
356
- : "-" }) })) }))] }))), localEditMode && ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, __assign({ fullWidth: true, sx: { marginTop: 2 } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.DatePicker, { label: "Dernier entretien", name: "lastMaintenanceDate", value: form.lastMaintenanceDate.value
355
+ : "-" }) })) }))] }))), localEditMode && ((0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, __assign({ fullWidth: true, sx: { marginTop: 2 } }, { children: (0, jsx_runtime_1.jsx)(x_date_pickers_1.DatePicker, { label: "Dernier entretien", name: "lastMaintenanceDate", value: (form.lastMaintenanceDate.value
357
356
  ? (0, moment_1.default)(form.lastMaintenanceDate.value)
358
- : null, format: "DD/MM/YYYY", formatDensity: "dense", views: ["day"], displayWeekNumber: true, onChange: function (e) {
357
+ : null), format: "DD/MM/YYYY", formatDensity: "dense", views: ["day"], displayWeekNumber: true, onChange: function (e) {
359
358
  var _a;
360
359
  return handleChange("lastMaintenanceDate", (_a = e === null || e === void 0 ? void 0 : e.toDate()) !== null && _a !== void 0 ? _a : null);
361
360
  } }) })) })))] })), !localEditMode && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: 12 }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ variant: "h6", component: "div", align: "center", sx: { mt: 3, mb: 1 }, color: (0, material_1.darken)(theme.palette.primary.main, 0.2) }, { children: "CARNET DU V\u00C9HICULE" })) })), vehicle.documents &&
@@ -1,4 +1,3 @@
1
- /// <reference types="date-fns" />
2
1
  import { DateFormatTypes } from './Enums';
3
2
  export declare function isValidDate(date: unknown): date is Date;
4
3
  export declare const countryTimeZones: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@movalib/movalib-commons",
3
- "version": "1.68.7",
3
+ "version": "1.68.8",
4
4
  "description": "Bibliothèque d'objets communs à l'ensemble des projets React de Movalib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,14 +18,6 @@
18
18
  "author": "",
19
19
  "license": "ISC",
20
20
  "dependencies": {
21
- "@emotion/react": "^11.11.1",
22
- "@emotion/styled": "^11.11.0",
23
- "@mui/icons-material": "^5.11.17",
24
- "@mui/lab": "^5.0.0-alpha.134",
25
- "@mui/material": "^5.13.5",
26
- "@mui/x-date-pickers": "^6.9.1",
27
- "@types/react": "^18.2.22",
28
- "@types/react-dom": "^18.2.7",
29
21
  "@types/react-router-dom": "^5.3.0",
30
22
  "date-fns": "^2.29.3",
31
23
  "date-fns-tz": "^2.0.0",
@@ -38,13 +30,10 @@
38
30
  "pdf-lib": "^1.17.1",
39
31
  "pdfjs-dist": "^4.6.82",
40
32
  "qr-code-styling": "^1.4.4",
41
- "react": "^18.2.0",
42
- "react-dom": "^18.2.0",
43
33
  "react-input-mask": "^2.0.4",
44
34
  "react-router-dom": "^5.1.2",
45
35
  "react-scripts": "5.0.1",
46
- "react-to-print": "^2.14.15",
47
- "typescript": "^4.9.5"
36
+ "react-to-print": "^2.14.15"
48
37
  },
49
38
  "eslintConfig": {
50
39
  "extends": [
@@ -52,7 +41,19 @@
52
41
  ]
53
42
  },
54
43
  "peerDependencies": {
55
- "libphonenumber-js": "1.9.52"
44
+ "libphonenumber-js": "1.9.52",
45
+ "@mui/icons-material": "^6.0.0",
46
+ "@mui/x-date-pickers": "^7.0.0",
47
+ "@mui/lab": "6.0.1-beta.34",
48
+ "@mui/material": "^6.0.0",
49
+ "react": "^18.2.0",
50
+ "react-dom": "^18.2.0",
51
+ "react-router-dom": "^5.1.2",
52
+ "typescript": "^4.9.5",
53
+ "@types/react": "^18.2.22",
54
+ "@types/react-dom": "^18.2.7",
55
+ "@emotion/react": "^11.14.0",
56
+ "@emotion/styled": "^11.14.0"
56
57
  },
57
58
  "devDependencies": {
58
59
  "@types/js-cookie": "^3.0.4",
@@ -1,12 +1,29 @@
1
1
  import { CSSProperties, FunctionComponent, useEffect, useState } from 'react';
2
2
  import { useHistory, useLocation } from 'react-router-dom';
3
3
  import UserService from './services/UserService';
4
- import { Box, Checkbox, CircularProgress, FormControl, FormControlLabel, FormHelperText, Grid, IconButton, Link, SelectChangeEvent, TextField, Typography, colors, darken, useMediaQuery, useTheme } from '@mui/material';
4
+ import {
5
+ Box,
6
+ Checkbox,
7
+ CircularProgress,
8
+ FormControl,
9
+ FormControlLabel,
10
+ FormHelperText,
11
+ Grid,
12
+ IconButton,
13
+ Link,
14
+ SelectChangeEvent,
15
+ TextField,
16
+ Typography,
17
+ colors,
18
+ darken,
19
+ useMediaQuery,
20
+ useTheme,
21
+ Button
22
+ } from '@mui/material';
5
23
  import Logger from './helpers/Logger';
6
24
  import InputAdornment from '@mui/material/InputAdornment';
7
25
  import Visibility from '@mui/icons-material/Visibility';
8
26
  import VisibilityOff from '@mui/icons-material/VisibilityOff';
9
- import { LoadingButton } from '@mui/lab';
10
27
  import { MovaAppType } from './helpers/Enums';
11
28
  import { MovaFormField, MovaValidationForm } from './helpers/Types';
12
29
  import { flexStart, validateField } from './helpers/Tools';
@@ -314,7 +331,7 @@ const AccountValidation: FunctionComponent<AccountValidationProps> = ({ movaAppT
314
331
  throw new Error('Function not implemented.');
315
332
  }}
316
333
  actions={
317
- <LoadingButton
334
+ <Button
318
335
  loading={loadingBtn}
319
336
  type="submit"
320
337
  onClick={handleValidateAccount}
@@ -322,7 +339,7 @@ const AccountValidation: FunctionComponent<AccountValidationProps> = ({ movaAppT
322
339
  variant="contained"
323
340
  sx={{ mt: 4, mb: 0 }}>
324
341
  {resetPassword ? <span>Réinitialiser mon mot de passe</span> : <span>Activer mon compte</span>}
325
- </LoadingButton>
342
+ </Button>
326
343
  }>
327
344
  <Grid container>
328
345
  <Grid item xs={12}>
package/src/MovaLogin.tsx CHANGED
@@ -1,5 +1,4 @@
1
1
  import { CSSProperties, ChangeEvent, FormEvent, FunctionComponent, MouseEvent, ReactNode, SetStateAction, useState } from "react";
2
- import { LoadingButton } from '@mui/lab';
3
2
  import LogoLarge from './assets/images/logo/logo_large_border.png';
4
3
  import LogoProLarge from './assets/images/logo/logo_pro_large_border.png';
5
4
  import LogoAdminLarge from './assets/images/logo/logo_admin_large.png';
@@ -337,14 +336,14 @@ const MovaLogin: FunctionComponent<MovaLoginProps> = ({ loading, movaAppType, on
337
336
  label="Se souvenir de moi"
338
337
  />
339
338
 
340
- <LoadingButton
339
+ <Button
341
340
  loading={loading}
342
341
  type="submit"
343
342
  fullWidth
344
343
  variant="contained"
345
344
  sx={{ mt: 3, mb: 2, backgroundColor: darkMode ? theme.palette.primary.dark : theme.palette.primary.main }}>
346
345
  <span>Se connecter</span>
347
- </LoadingButton>
346
+ </Button>
348
347
 
349
348
  {movaAppType === MovaAppType.INDIVIDUAL && <Button
350
349
  fullWidth
@@ -1,5 +1,4 @@
1
1
  import { CSSProperties, ChangeEvent, FormEvent, FunctionComponent, ReactNode, useState } from "react";
2
- import { LoadingButton } from '@mui/lab';
3
2
  import { DatePicker } from '@mui/x-date-pickers/DatePicker';
4
3
  import LogoLarge from './assets/images/logo/logo_large_border.png';
5
4
  import LogoProLarge from './assets/images/logo/logo_pro_large_border.png';
@@ -8,7 +7,7 @@ import LogoProLargeDarkMode from './assets/images/logo/logo_pro_large_dm.png';
8
7
  import GreenLeafImage from "./assets/images/leaf_green_large.png";
9
8
  import PinkLeafImage from "./assets/images/leaf_pink_large.png";
10
9
  import { Alert, AlertColor, Box, Checkbox, Container, CssBaseline, FormControl, FormControlLabel, FormHelperText, Grid,
11
- IconButton, Link, SelectChangeEvent, TextField, Typography, TextFieldProps, useTheme } from "@mui/material";
10
+ IconButton, Link, SelectChangeEvent, TextField, Typography, TextFieldProps, useTheme, Button } from "@mui/material";
12
11
  import MovaCopyright from "./MovaCopyright";
13
12
  import { MovaFormField, MovaUserSignUpForm } from "./helpers/Types";
14
13
  import { MovaAppType } from "./helpers/Enums";
@@ -469,14 +468,14 @@ const MovaSignUp: FunctionComponent<MovaSignUpProps> = ({ loading, movaAppType,
469
468
 
470
469
  {alertMessage && alertSeverity && <Alert severity={alertSeverity} sx={{ mb: 2 }}>{alertMessage}</Alert>}
471
470
 
472
- <LoadingButton
471
+ <Button
473
472
  loading={loading}
474
473
  type="submit"
475
474
  fullWidth
476
475
  variant="contained"
477
476
  sx={{ mt: 3, mb: 2, backgroundColor: darkMode ? theme.palette.primary.dark : theme.palette.primary.main }}>
478
477
  <span>Créer mon compte</span>
479
- </LoadingButton>
478
+ </Button>
480
479
 
481
480
  {showLoginButton && <Grid container>
482
481
  <Grid item xs>
@@ -259,34 +259,34 @@ const ScheduleFields: FunctionComponent<ScheduleFieldsProps> = ({ timePickerStep
259
259
  <Grid container key={intervalIndex+1}
260
260
  style={{ paddingTop: intervalIndex > 0 ? theme.spacing(1) : 0 }}>
261
261
  <Grid item xs={6} key={(intervalIndex+1)*Math.random()} sx={{ textAlign: 'center' }}>
262
- <TimePicker
263
- views={['hours', 'minutes']}
264
- minutesStep={timePickerStep ?? 30} // Valeur par défaut de 30 minutes au cas ou
265
- disabled={!daySchedule.checked}
266
- value={interval.startTime}
267
- formatDensity='dense'
268
- closeOnSelect={false}
269
- onChange={handleIntervalChange(dayIndex, intervalIndex, 'startTime')}
270
- slotProps={{
271
- textField: {
272
- size: 'small',
273
- sx: {
274
- width:'150px',
275
- minWidth:'100px',
276
- padding: 0,
277
- },
262
+ <TimePicker
263
+ views={['hours', 'minutes']}
264
+ minutesStep={timePickerStep ?? 30}
265
+ disabled={!daySchedule.checked}
266
+ value={interval.startTime ? new Date(interval.startTime) : null}
267
+ formatDensity='dense'
268
+ closeOnSelect={false}
269
+ onChange={handleIntervalChange(dayIndex, intervalIndex, 'startTime')}
270
+ slotProps={{
271
+ textField: {
272
+ size: 'small',
273
+ sx: {
274
+ width:'150px',
275
+ minWidth:'100px',
276
+ padding: 0,
278
277
  },
279
- actionBar: {
280
- sx: { display: 'none' },
281
- },
282
- }}
283
- />
278
+ },
279
+ actionBar: {
280
+ sx: { display: 'none' },
281
+ },
282
+ }}
283
+ />
284
284
  </Grid>
285
285
  <Grid item xs={6} key={(intervalIndex+1)*Math.random()} sx={{ display: 'contents'}}>
286
286
  <TimePicker
287
287
  minutesStep={timePickerStep ?? 30} // Valeur par défaut de 30 minutes au cas ou
288
288
  disabled={!(interval.startTime instanceof Date)}
289
- value={interval.endTime}
289
+ value={interval.endTime ? new Date(interval.endTime) : null}
290
290
  formatDensity='dense'
291
291
  onChange={handleIntervalChange(dayIndex, intervalIndex, 'endTime')}
292
292
  closeOnSelect={false}
@@ -27,7 +27,7 @@ import {
27
27
  useTheme,
28
28
  } from "@mui/material";
29
29
  import { DatePicker } from "@mui/x-date-pickers";
30
- import moment from "moment";
30
+ import moment, { Moment } from 'moment';
31
31
  import { useEffect, useRef, useState, type FC } from "react";
32
32
  import CatPlateBg from "../../assets/images/car_plate_bg.png";
33
33
  import ConfirmationDialog from "../../ConfirmationDialog";
@@ -850,21 +850,19 @@ const VehicleFullCard: FC<VehicleFullCardProps> = ({
850
850
  <DatePicker
851
851
  label={"Dernier contrôle technique"}
852
852
  name={"lastInspectionDate"}
853
- value={
854
- form.lastInspectionDate.value
853
+ value={
854
+ (form.lastInspectionDate.value
855
855
  ? moment(form.lastInspectionDate.value)
856
- : null
856
+ : null) as any
857
857
  }
858
+ onChange={(e: any) =>
859
+ handleChange("lastInspectionDate", e ? moment(e).toISOString() : "")
860
+ }
858
861
  format="DD/MM/YYYY"
859
862
  formatDensity="dense"
860
863
  views={["day"]}
861
864
  displayWeekNumber
862
- onChange={(e) =>
863
- handleChange(
864
- "lastInspectionDate",
865
- (e?.toDate() as any) ?? null
866
- )
867
- }
865
+
868
866
  />
869
867
  </FormControl>
870
868
  </Grid>
@@ -904,15 +902,15 @@ const VehicleFullCard: FC<VehicleFullCardProps> = ({
904
902
  label={"Dernier entretien"}
905
903
  name={"lastMaintenanceDate"}
906
904
  value={
907
- form.lastMaintenanceDate.value
905
+ (form.lastMaintenanceDate.value
908
906
  ? moment(form.lastMaintenanceDate.value)
909
- : null
907
+ : null) as any
910
908
  }
911
909
  format="DD/MM/YYYY"
912
910
  formatDensity="dense"
913
911
  views={["day"]}
914
912
  displayWeekNumber
915
- onChange={(e) =>
913
+ onChange={(e: any) =>
916
914
  handleChange(
917
915
  "lastMaintenanceDate",
918
916
  (e?.toDate() as any) ?? null