diff --git a/web/src/app/(app)/error.tsx b/web/src/app/(app)/error.tsx
new file mode 100644
index 0000000..6aa37f8
--- /dev/null
+++ b/web/src/app/(app)/error.tsx
@@ -0,0 +1,5 @@
+"use client";
+
+import { ErrorFullPage } from "@/components/docs/ErrorPage";
+
+export default ErrorFullPage;
diff --git a/web/src/app/(app)/workflows/[workflow_id]/@deployment/error.tsx b/web/src/app/(app)/workflows/[workflow_id]/@deployment/error.tsx
new file mode 100644
index 0000000..f4e0b58
--- /dev/null
+++ b/web/src/app/(app)/workflows/[workflow_id]/@deployment/error.tsx
@@ -0,0 +1,5 @@
+"use client";
+
+import ErrorPage from "@/components/docs/ErrorPage";
+
+export default ErrorPage;
diff --git a/web/src/app/(app)/workflows/[workflow_id]/@runs/error.tsx b/web/src/app/(app)/workflows/[workflow_id]/@runs/error.tsx
index 9df13d0..f4e0b58 100644
--- a/web/src/app/(app)/workflows/[workflow_id]/@runs/error.tsx
+++ b/web/src/app/(app)/workflows/[workflow_id]/@runs/error.tsx
@@ -1,51 +1,5 @@
"use client";
-import { Button } from "@/components/ui/button";
-import {
- Card,
- CardDescription,
- CardHeader,
- CardTitle,
-} from "@/components/ui/card";
-// Error components must be Client Components
-import { useEffect } from "react";
+import ErrorPage from "@/components/docs/ErrorPage";
-export default function Error({
- error,
- reset,
-}: {
- error?: Error & { digest?: string };
- reset?: () => void;
-}) {
- useEffect(() => {
- // Log the error to an error reporting service
- console.log(error?.message);
- }, [error]);
-
- return (
-
-
-
-
- Something went wrong!
-
-
- {error?.message}
-
-
-
-
-
- );
-}
+export default ErrorPage;
diff --git a/web/src/app/(app)/workflows/[workflow_id]/@workflow/error.tsx b/web/src/app/(app)/workflows/[workflow_id]/@workflow/error.tsx
new file mode 100644
index 0000000..f4e0b58
--- /dev/null
+++ b/web/src/app/(app)/workflows/[workflow_id]/@workflow/error.tsx
@@ -0,0 +1,5 @@
+"use client";
+
+import ErrorPage from "@/components/docs/ErrorPage";
+
+export default ErrorPage;
diff --git a/web/src/app/(app)/workflows/[workflow_id]/layout.tsx b/web/src/app/(app)/workflows/[workflow_id]/layout.tsx
index 903a3b7..bf73308 100644
--- a/web/src/app/(app)/workflows/[workflow_id]/layout.tsx
+++ b/web/src/app/(app)/workflows/[workflow_id]/layout.tsx
@@ -1,6 +1,3 @@
-import Error from "@/app/(app)/workflows/[workflow_id]/@runs/error";
-import { ErrorBoundary } from "@/components/ErrorBoundary";
-
export default async function Layout({
children,
deployment,
@@ -13,15 +10,13 @@ export default async function Layout({
workflow: React.ReactNode;
}) {
return (
- }>
-
-
- {workflow}
- {deployment}
-
- {runs}
- {children}
+
+
+ {workflow}
+ {deployment}
-
+ {runs}
+ {children}
+
);
}
diff --git a/web/src/components/docs/ErrorPage.tsx b/web/src/components/docs/ErrorPage.tsx
new file mode 100644
index 0000000..eb5375d
--- /dev/null
+++ b/web/src/components/docs/ErrorPage.tsx
@@ -0,0 +1,52 @@
+"use client";
+
+import { Button } from "@/components/ui/button";
+import { CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
+import { cn } from "@/lib/utils";
+// Error components must be Client Components
+import { useEffect } from "react";
+
+export default function ErrorPage({
+ error,
+ reset,
+}: {
+ error?: Error & { digest?: string };
+ reset?: () => void;
+}) {
+ useEffect(() => {
+ // Log the error to an error reporting service
+ console.log(error?.message);
+ }, [error]);
+
+ return (
+
+
+
+
+ Unexpected error.
+
+
+ Error: {error?.message}
+
+
+
+
+
+
+
+ );
+}
+
+export function ErrorFullPage() {
+ return (
+
+
+
+ );
+}