Updated frontend dependencies
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Pierre HUBERT 2025-03-28 15:31:28 +01:00
parent ca6b5d398b
commit 4f75833414
14 changed files with 468 additions and 652 deletions

View File

@ -24,7 +24,7 @@ steps:
commands: commands:
# Build website # Build website
- cd geneit_app - cd geneit_app
- npm install - npm install --legacy-peer-deps # TODO : remove when mui-color-input is updated
- GENERATE_SOURCEMAP=false npm run build - GENERATE_SOURCEMAP=false npm run build
# Install AWS # Install AWS
- curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" - curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
"@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@emotion/react": "^11.13.3", "@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.13.0",
"@fontsource/roboto": "^5.1.0", "@fontsource/roboto": "^5.2.5",
"@fullcalendar/core": "^6.1.15", "@fullcalendar/core": "^6.1.15",
"@fullcalendar/daygrid": "^6.1.15", "@fullcalendar/daygrid": "^6.1.15",
"@fullcalendar/interaction": "^6.1.15", "@fullcalendar/interaction": "^6.1.15",
@ -15,36 +15,35 @@
"@fullcalendar/react": "^6.1.15", "@fullcalendar/react": "^6.1.15",
"@mdi/js": "^7.2.96", "@mdi/js": "^7.2.96",
"@mdi/react": "^1.6.1", "@mdi/react": "^1.6.1",
"@mui/icons-material": "^6.1.2", "@mui/icons-material": "^7.0.0",
"@mui/lab": "^6.0.0-beta.10", "@mui/lab": "^7.0.0-beta.9",
"@mui/material": "^6.1.2", "@mui/material": "^7.0.0",
"@mui/x-data-grid": "^7.18.0", "@mui/x-data-grid": "^7.28.2",
"@mui/x-date-pickers": "^7.18.0", "@mui/x-date-pickers": "^7.28.2",
"@mui/x-tree-view": "^7.18.0", "@mui/x-tree-view": "^7.28.1",
"@testing-library/jest-dom": "^6.5.0", "@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.1", "@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.0.0", "@testing-library/user-event": "^14.6.1",
"@types/jest": "^29.5.13", "@types/jest": "^29.5.13",
"@types/react": "^18.3.11", "@types/react": "^19.0.12",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^19.0.4",
"@vitejs/plugin-react": "^4.3.2", "@vitejs/plugin-react": "^4.3.2",
"date-and-time": "^3.6.0", "date-and-time": "^3.6.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"email-validator": "^2.0.4", "email-validator": "^2.0.4",
"filesize": "^10.1.6", "filesize": "^10.1.6",
"jspdf": "^2.5.2", "jspdf": "^3.0.1",
"mui-color-input": "^5.0.0", "mui-color-input": "^6.0.0",
"react": "^18.3.1", "react": "^19.0.0",
"react-dom": "^18.3.1", "react-dom": "^19.0.0",
"react-easy-crop": "^5.0.8", "react-easy-crop": "^5.4.1",
"react-qr-code": "^2.0.14", "react-qr-code": "^2.0.14",
"react-router-dom": "^7.0.0", "react-router-dom": "^7.4.0",
"react-zoom-pan-pinch": "^3.4.4", "react-zoom-pan-pinch": "^3.7.0",
"svg2pdf.js": "^2.2.3", "svg2pdf.js": "^2.5.0",
"typescript": "^5.6.2", "typescript": "^5.8.2",
"vite": "^6.0.0", "vite": "^6.2.3",
"vite-tsconfig-paths": "^5.0.1", "vite-tsconfig-paths": "^5.0.1"
"web-vitals": "^3.5.2"
}, },
"scripts": { "scripts": {
"start": "vite", "start": "vite",

View File

@ -3,7 +3,6 @@ import ReactDOM from "react-dom/client";
import { App } from "./App"; import { App } from "./App";
import { ServerApi } from "./api/ServerApi"; import { ServerApi } from "./api/ServerApi";
import "./index.css"; import "./index.css";
import reportWebVitals from "./reportWebVitals";
// Roboto font // Roboto font
import "@fontsource/roboto/300.css"; import "@fontsource/roboto/300.css";
@ -61,8 +60,3 @@ async function init() {
} }
init(); init();
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

View File

@ -1,15 +0,0 @@
import { ReportHandler } from 'web-vitals';
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;

View File

@ -1,4 +1,5 @@
import { Visibility, VisibilityOff } from "@mui/icons-material"; import VisibilityIcon from "@mui/icons-material/Visibility";
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
import { import {
Alert, Alert,
CircularProgress, CircularProgress,
@ -11,7 +12,7 @@ import {
} from "@mui/material"; } from "@mui/material";
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import Button from "@mui/material/Button"; import Button from "@mui/material/Button";
import Grid from "@mui/material/Grid2"; import Grid from "@mui/material/Grid";
import TextField from "@mui/material/TextField"; import TextField from "@mui/material/TextField";
import Typography from "@mui/material/Typography"; import Typography from "@mui/material/Typography";
import * as React from "react"; import * as React from "react";
@ -148,7 +149,7 @@ export function LoginRoute(): React.ReactElement {
onMouseDown={handleMouseDownPassword} onMouseDown={handleMouseDownPassword}
edge="end" edge="end"
> >
{showPassword ? <VisibilityOff /> : <Visibility />} {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}
</IconButton> </IconButton>
</Tooltip> </Tooltip>
</InputAdornment> </InputAdornment>

View File

@ -4,7 +4,7 @@ import EditIcon from "@mui/icons-material/Edit";
import FileDownloadIcon from "@mui/icons-material/FileDownload"; import FileDownloadIcon from "@mui/icons-material/FileDownload";
import SaveIcon from "@mui/icons-material/Save"; import SaveIcon from "@mui/icons-material/Save";
import { Button, Stack } from "@mui/material"; import { Button, Stack } from "@mui/material";
import Grid from "@mui/material/Grid2"; import Grid from "@mui/material/Grid";
import React from "react"; import React from "react";
import { useNavigate, useParams } from "react-router-dom"; import { useNavigate, useParams } from "react-router-dom";
import { ServerApi } from "../../../api/ServerApi"; import { ServerApi } from "../../../api/ServerApi";

View File

@ -12,7 +12,7 @@ import {
ListItemText, ListItemText,
Stack, Stack,
} from "@mui/material"; } from "@mui/material";
import Grid from "@mui/material/Grid2"; import Grid from "@mui/material/Grid";
import * as EmailValidator from "email-validator"; import * as EmailValidator from "email-validator";
import React from "react"; import React from "react";
import { useNavigate, useParams } from "react-router-dom"; import { useNavigate, useParams } from "react-router-dom";

View File

@ -1,5 +0,0 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';

View File

@ -54,7 +54,7 @@ export function BaseFamilyRoute(): React.ReactElement {
const loadKey = React.useRef(1); const loadKey = React.useRef(1);
const loadPromise = React.useRef<() => void>(); const loadPromise = React.useRef<() => void>(null);
const load = async () => { const load = async () => {
const familyID = Number(familyId); const familyID = Number(familyId);
@ -104,7 +104,7 @@ export function BaseFamilyRoute(): React.ReactElement {
build={() => { build={() => {
if (loadPromise.current != null) { if (loadPromise.current != null) {
loadPromise.current?.(); loadPromise.current?.();
loadPromise.current = undefined; loadPromise.current = null;
} }
return ( return (

View File

@ -3,10 +3,9 @@ import Icon from "@mdi/react";
import Avatar from "@mui/material/Avatar"; import Avatar from "@mui/material/Avatar";
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import CssBaseline from "@mui/material/CssBaseline"; import CssBaseline from "@mui/material/CssBaseline";
import Grid from "@mui/material/Grid2"; import Grid from "@mui/material/Grid";
import Paper from "@mui/material/Paper"; import Paper from "@mui/material/Paper";
import Typography from "@mui/material/Typography"; import Typography from "@mui/material/Typography";
import * as React from "react";
import { Link, Outlet } from "react-router-dom"; import { Link, Outlet } from "react-router-dom";
import { DarkThemeButton } from "./DarkThemeButton"; import { DarkThemeButton } from "./DarkThemeButton";

View File

@ -1,4 +1,5 @@
import { Visibility, VisibilityOff } from "@mui/icons-material"; import VisibilityIcon from "@mui/icons-material/Visibility";
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
import { import {
FormControl, FormControl,
FormHelperText, FormHelperText,
@ -50,7 +51,7 @@ export function PasswordInput(p: {
onMouseDown={handleMouseDownPassword} onMouseDown={handleMouseDownPassword}
edge="end" edge="end"
> >
{showPassword ? <VisibilityOff /> : <Visibility />} {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}
</IconButton> </IconButton>
</InputAdornment> </InputAdornment>
} }

View File

@ -27,7 +27,7 @@ export function BaseAccommodationsRoute(): React.ReactElement {
const loadKey = React.useRef(1); const loadKey = React.useRef(1);
const loadPromise = React.useRef<() => void>(); const loadPromise = React.useRef<() => void>(null);
const load = async () => { const load = async () => {
setAccommodations( setAccommodations(
@ -53,7 +53,7 @@ export function BaseAccommodationsRoute(): React.ReactElement {
build={() => { build={() => {
if (loadPromise.current != null) { if (loadPromise.current != null) {
loadPromise.current?.(); loadPromise.current?.();
loadPromise.current = undefined; loadPromise.current = null;
} }
return ( return (

View File

@ -22,7 +22,7 @@ export function BaseGenealogyRoute(): React.ReactElement {
const loadKey = React.useRef(1); const loadKey = React.useRef(1);
const loadPromise = React.useRef<() => void>(); const loadPromise = React.useRef<() => void>(null);
const load = async () => { const load = async () => {
setMembers(await MemberApi.GetEntireList(family.familyId)); setMembers(await MemberApi.GetEntireList(family.familyId));
@ -48,7 +48,7 @@ export function BaseGenealogyRoute(): React.ReactElement {
build={() => { build={() => {
if (loadPromise.current != null) { if (loadPromise.current != null) {
loadPromise.current?.(); loadPromise.current?.();
loadPromise.current = undefined; loadPromise.current = null;
} }
return ( return (