modification du global error

This commit is contained in:
2026-05-06 09:03:06 +02:00
parent e1aa0f076a
commit 268e14f369
4 changed files with 54 additions and 40 deletions

View File

@@ -13,6 +13,7 @@
"@prisma/client": "6.19.3", "@prisma/client": "6.19.3",
"@prisma/config": "6.19.3", "@prisma/config": "6.19.3",
"@types/bcryptjs": "^2.4.6", "@types/bcryptjs": "^2.4.6",
"afrohub": "file:..",
"bcryptjs": "^3.0.3", "bcryptjs": "^3.0.3",
"dotenv": "^17.4.1", "dotenv": "^17.4.1",
"lucide-react": "^1.8.0", "lucide-react": "^1.8.0",

52
app/error.tsx Normal file
View File

@@ -0,0 +1,52 @@
"use client";
import { useEffect } from "react";
export default function Error({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
useEffect(() => {
// Log the error to an error reporting service
console.error(error);
}, [error]);
return (
<div style={{
fontFamily: 'system-ui, sans-serif',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
minHeight: '60vh',
margin: 0,
backgroundColor: '#f9fafb'
}}>
<div style={{ textAlign: 'center', padding: '2rem' }}>
<h2 style={{ fontSize: '1.5rem', fontWeight: 'bold', color: '#111827', marginBottom: '1rem' }}>
Une erreur est survenue
</h2>
<p style={{ color: '#6b7280', marginBottom: '1.5rem' }}>
Nous nous excusons pour la gêne occasionnée.
</p>
<button
onClick={() => reset()}
style={{
backgroundColor: '#f97316',
color: 'white',
border: 'none',
padding: '0.75rem 1.5rem',
borderRadius: '0.375rem',
fontWeight: '600',
cursor: 'pointer',
fontSize: '0.875rem',
}}
>
Réessayer
</button>
</div>
</div>
);
}

View File

@@ -1,39 +0,0 @@
"use client";
export default function GlobalError({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
return (
<html lang="fr">
<body style={{ fontFamily: 'system-ui, sans-serif', display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: '100vh', margin: 0, backgroundColor: '#f9fafb' }}>
<div style={{ textAlign: 'center', padding: '2rem' }}>
<h2 style={{ fontSize: '1.5rem', fontWeight: 'bold', color: '#111827', marginBottom: '1rem' }}>
Une erreur est survenue
</h2>
<p style={{ color: '#6b7280', marginBottom: '1.5rem' }}>
Nous nous excusons pour la gêne occasionnée.
</p>
<button
onClick={() => reset()}
style={{
backgroundColor: '#f97316',
color: 'white',
border: 'none',
padding: '0.75rem 1.5rem',
borderRadius: '0.375rem',
fontWeight: '600',
cursor: 'pointer',
fontSize: '0.875rem',
}}
>
Réessayer
</button>
</div>
</body>
</html>
);
}

2
next-env.d.ts vendored
View File

@@ -1,6 +1,6 @@
/// <reference types="next" /> /// <reference types="next" />
/// <reference types="next/image-types/global" /> /// <reference types="next/image-types/global" />
import "./.next/dev/types/routes.d.ts"; import "./.next/types/routes.d.ts";
// NOTE: This file should not be edited // NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.