@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 +1 -1
- package/dist/devIndex.js +1 -1
- package/dist/src/AccountValidation.js +1 -2
- package/dist/src/MovaLogin.js +1 -2
- package/dist/src/MovaSignUp.js +1 -2
- package/dist/src/ScheduleFields.js +2 -2
- package/dist/src/components/vehicle/VehicleFullCard.js +6 -7
- package/dist/src/helpers/DateUtils.d.ts +0 -1
- package/package.json +15 -14
- package/src/AccountValidation.tsx +21 -4
- package/src/MovaLogin.tsx +2 -3
- package/src/MovaSignUp.tsx +3 -4
- package/src/ScheduleFields.tsx +22 -22
- package/src/components/vehicle/VehicleFullCard.tsx +11 -13
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://
|
|
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://
|
|
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)(
|
|
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',
|
package/dist/src/MovaLogin.js
CHANGED
|
@@ -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)(
|
|
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',
|
package/dist/src/MovaSignUp.js
CHANGED
|
@@ -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)(
|
|
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,
|
|
352
|
-
|
|
353
|
-
|
|
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 &&
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@movalib/movalib-commons",
|
|
3
|
-
"version": "1.68.
|
|
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 {
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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
|
-
<
|
|
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
|
-
</
|
|
346
|
+
</Button>
|
|
348
347
|
|
|
349
348
|
{movaAppType === MovaAppType.INDIVIDUAL && <Button
|
|
350
349
|
fullWidth
|
package/src/MovaSignUp.tsx
CHANGED
|
@@ -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
|
-
<
|
|
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
|
-
</
|
|
478
|
+
</Button>
|
|
480
479
|
|
|
481
480
|
{showLoginButton && <Grid container>
|
|
482
481
|
<Grid item xs>
|
package/src/ScheduleFields.tsx
CHANGED
|
@@ -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
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
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
|
-
|
|
280
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|