diff --git a/app/(app)/[...slug]/page.tsx b/app/(app)/[...slug]/page.tsx new file mode 100644 index 0000000..b835c8d --- /dev/null +++ b/app/(app)/[...slug]/page.tsx @@ -0,0 +1,11 @@ +/** + * @file app/(app)/[...slug]/page.tsx + * @description Catch-all route handler for undefined paths within the (app) route group, triggering a Next.js 404 page. + */ + +import { notFound } from "next/navigation"; + +/** Catches any unmatched nested sub-routes inside the application layout and delegates to the Next.js notFound handler. */ +export default function CatchAllNotFound() { + notFound(); +} diff --git a/app/(app)/not-found.tsx b/app/(app)/not-found.tsx new file mode 100644 index 0000000..063538e --- /dev/null +++ b/app/(app)/not-found.tsx @@ -0,0 +1,31 @@ +/** + * @file app/(app)/not-found.tsx + * @description Server component rendering a custom 404 page for missing or invalid routes within the app layout. + */ + +import { AlertCircle } from "lucide-react"; + +/** Renders the 404 Not Found fallback view containing an alert icon, message, and navigation link back to the summary page. */ +export default function NotFound() { + return ( +
+
+ {/* Icon Badge */} +
+ +
+ + {/* Text Content */} +
+

+ Page not found +

+

+ The page you are looking for doesn't exist or has been moved. Please + check the URL or head back to your summary. +

+
+
+
+ ); +}