From bedf5686427781d4ffb50404fb65ed12f1c12d80 Mon Sep 17 00:00:00 2001 From: matthew Date: Tue, 16 Sep 2025 02:49:52 +0100 Subject: [PATCH 1/2] Enhance Error Page with Retry and Navigation Buttons - Updated ErrorPage component to include a retry button that resets the error state and a navigation button to go back to the previous page. - Improved error logging for development mode. - Adjusted layout for better responsiveness and user experience. - Added ErrorTest component to the main page for testing error handling. --- src/app/error.tsx | 28 +++++++++++++++++++++++----- src/app/home/page.tsx | 23 ++++++++++------------- src/app/layout.tsx | 8 +++----- src/app/page.tsx | 2 ++ src/components/ErrorTest.tsx | 24 ++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 23 deletions(-) create mode 100644 src/components/ErrorTest.tsx diff --git a/src/app/error.tsx b/src/app/error.tsx index e3b01e0..d97b2dc 100644 --- a/src/app/error.tsx +++ b/src/app/error.tsx @@ -1,21 +1,39 @@ "use client"; -export default function ErrorPage() { +import { Button } from "@/components/ui/button"; +import { useRouter } from "next/navigation"; + +interface ErrorPageProps { + error: Error & { digest?: string }; + reset: () => void; +} +export default function ErrorPage({ error, reset }: ErrorPageProps) { + // Log error for debugging in development + if (process.env.NODE_ENV === "development") { + // eslint-disable-next-line no-console + console.error("Error caught:", error); + } + const router = useRouter(); return (
- {/* Main Error */} -
- {/* Error Header */} +

500 |

Internal Server Error

- {/* Error Message */}

We’re having trouble right now. Please refresh the page or try again later.

+
+ + +
); diff --git a/src/app/home/page.tsx b/src/app/home/page.tsx index f0e018d..dac68bc 100644 --- a/src/app/home/page.tsx +++ b/src/app/home/page.tsx @@ -1,12 +1,12 @@ -import React from "react"; +// import ErrorTest from "@/components/ErrorTest"; import CourseExplorationSection from "./components/welcomepage/courseExplorationSection"; import HeroSection from "./components/welcomepage/heroSection"; // import Register from "../register/page"; -import Trusted from "./components/welcomepage/trusted"; import Journey from "./components/welcomepage/journey"; -import Steller from "./components/welcomepage/steller"; import Ready from "./components/welcomepage/ready"; -import PrinciplesSection from "../about/components/principlesSection"; +import Steller from "./components/welcomepage/steller"; +import Trusted from "./components/welcomepage/trusted"; +// import PrinciplesSection from "../about/components/principlesSection"; const welcomePage = () => { return ( @@ -17,7 +17,7 @@ const welcomePage = () => { - + {/* */} {/*
@@ -58,7 +58,7 @@ export default welcomePage; {[ "Fast and secure transactions", "Low transaction fee", - "Global accessibility", + "Global accessibility", "Easy integration with our platform", ].map((item, index) => (
  • @@ -83,12 +83,9 @@ export default welcomePage; - */ -} - + */} -{ - /*
    + {/*
    {" "}

    @@ -118,5 +115,5 @@ export default welcomePage; }; export default welcomePage; -

    */ -} +//
    */ +// } diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 912e76d..f16fbeb 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,9 +1,8 @@ +import Footer from "@/components/footer"; import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; -import "./globals.css"; -import Footer from "@/components/footer"; -import NavbarMenu from "@/components/nabvarMenu"; import { Toaster } from "sonner"; +import "./globals.css"; const geistSans = Geist({ variable: "--font-geist-sans", @@ -36,11 +35,10 @@ export default function RootLayout({ -
    {children}