Error
App-wide error component. It displays the error message and a back button. In development, it also shows the component stack trace.

The default Shadcn Admin Kit <Layout> renders <Error> as the error boundary fallback component. This means that any time a React component throws an error, instead of crashing the entire application, users will see the <Error> component decorated by the layout instead. They’ll be able to navigate to other parts of the app using the menu or the back button.
To customize it, edit the @/components/admin/error.tsx file and adapt the JSX to your needs.
For example, here is a simplified error component without the stack trace and help links:
// in @/components/admin/error.tsximport { useResetErrorBoundaryOnLocationChange, Translate } from "ra-core";import { CircleAlert, History } from "lucide-react";import { Button } from "@/components/ui/button";
export const Error = (props: InternalErrorProps & {}) => { const { error, errorInfo, resetErrorBoundary, ...rest } = props; useResetErrorBoundaryOnLocationChange(resetErrorBoundary);
return ( <div className="flex flex-col items-center md:p-16 gap-5" {...rest}> <h1 className="flex items-center text-3xl mt-5 mb-5 gap-3" role="alert"> <CircleAlert className="w-2em h-2em" /> <Translate i18nKey="ra.page.error" /> </h1> <div> <Translate i18nKey="ra.message.error" /> </div> <div className="mt-8"> <Button onClick={goBack}> <History /> <Translate i18nKey="ra.action.back" /> </Button> </div> </div> );};
function goBack() { window.history.go(-1);}If you want to create your own error boundary for a specific part of the app, you can use the ErrorBoundary component from the react-error-boundary package and pass <Error> as the FallbackComponent prop.
import { ErrorBoundary } from "react-error-boundary";import { Error } from "@/components/admin/error";
const MyComponent = ({ children }) => ( <ErrorBoundary FallbackComponent={Error} > <div className="flex flex-1 flex-col px-4 "> {props.children} </div> </ErrorBoundary>);