Files
EpicNext-Cms/src/components/error-screen.tsx
T
openhands 17847545dd
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m52s
Improvements: remove dead config, fix ESM, add URL validation, unify types, add missing logging
- Remove .prettierrc (dead config, Biome replaces Prettier)
- Rename lighthouserc.json to lighthouserc.cjs with module.exports for ESM compat
- Add logger.warn to empty catch blocks in auth, register, site-settings, prisma-cache, redis, security, rate-limit
- Unify ActionResult type: action-helper.ts uses 'ok' consistent with safe-action-shared.ts
- Add noUnusedLocals + noUnusedParameters to tsconfig + fix 25 pre-existing unused vars
- Replace barrel export src/types/index.ts with direct @/types/common imports
- Make trustHost conditional (development only) in auth.ts
- Add pre-flight URL validation to update-Nitrov3.sh to catch image.library.url misconfigurations
- Improve NITRO_IMAGE_LIBRARY_URL content validation in pre-flight & post-compute checks
2026-07-26 20:28:11 +02:00

41 lines
958 B
TypeScript

import type { ReactNode } from "react";
/**
* Shared public error / empty-route composition.
* Used by route error.tsx and not-found.tsx (inside the app shell).
*/
export function ErrorScreen({
code,
title,
subtitle,
body,
actions,
footer,
}: {
code: string;
title: string;
subtitle: string;
body: string;
actions: ReactNode;
footer?: ReactNode;
}) {
return (
<main className="error-screen">
<div className="error-screen-glow" aria-hidden />
<section
className="error-screen-panel"
aria-labelledby="error-screen-title"
>
<p className="error-screen-code">{code}</p>
<h1 id="error-screen-title" className="error-screen-title">
{title}
</h1>
<p className="error-screen-subtitle">{subtitle}</p>
<p className="error-screen-body">{body}</p>
<div className="error-screen-actions">{actions}</div>
{footer ? <div className="error-screen-footer">{footer}</div> : null}
</section>
</main>
);
}