correction global error détachement du layout
This commit is contained in:
@@ -1,52 +0,0 @@
|
|||||||
"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>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
27
app/global-error.tsx
Normal file
27
app/global-error.tsx
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
export default function GlobalError({
|
||||||
|
error,
|
||||||
|
reset,
|
||||||
|
}: {
|
||||||
|
error: Error & { digest?: string };
|
||||||
|
reset: () => void;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<html lang="fr">
|
||||||
|
<body>
|
||||||
|
<div style={{ textAlign: 'center', padding: '50px', fontFamily: 'sans-serif' }}>
|
||||||
|
<h2>Erreur critique du serveur</h2>
|
||||||
|
<button
|
||||||
|
onClick={() => reset()}
|
||||||
|
style={{ padding: '10px 20px', cursor: 'pointer' }}
|
||||||
|
>
|
||||||
|
Recharger l'application
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"dev": "next dev -p 3000",
|
"dev": "next dev -p 3000",
|
||||||
"dev:admin": "npm run dev --prefix admin -- -p 3001",
|
"dev:admin": "npm run dev --prefix admin -- -p 3001",
|
||||||
"all": "concurrently \"npm run dev\" \"npm run dev:admin\"",
|
"all": "concurrently \"npm run dev\" \"npm run dev:admin\"",
|
||||||
"build": "rm -rf .next && prisma generate && next build",
|
"build": "prisma generate && next build",
|
||||||
"build:admin": "npm install --prefix admin && prisma generate && npm run build --prefix admin",
|
"build:admin": "npm install --prefix admin && prisma generate && npm run build --prefix admin",
|
||||||
"start": "npx prisma migrate deploy && next start",
|
"start": "npx prisma migrate deploy && next start",
|
||||||
"start:admin": "npm run start --prefix admin",
|
"start:admin": "npm run start --prefix admin",
|
||||||
|
|||||||
Reference in New Issue
Block a user