diff --git a/app/(public)/page.tsx b/app/(public)/page.tsx index 35f02eb..e5ec83b 100644 --- a/app/(public)/page.tsx +++ b/app/(public)/page.tsx @@ -5,17 +5,30 @@ import AIDemo from "@/features/landing/ai-demo"; import Universities from "@/features/landing/universities"; import Testimonials from "@/features/landing/testimonials"; import FAQ from "@/features/landing/faq"; +import { Suspense } from "react"; export default function HomePage() { return ( <> - - - - - - + }> + + + }> + + + }> + + + }> + + + }> + + + }> + + ); } diff --git a/app/error.tsx b/app/error.tsx new file mode 100644 index 0000000..4a308b8 --- /dev/null +++ b/app/error.tsx @@ -0,0 +1,34 @@ +"use client"; + +import { useEffect } from "react"; +import { AlertCircle } from "lucide-react"; + +export default function ErrorPage({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( +
+
+ +
+

Something went wrong!

+

+ We've encountered an unexpected error. Please try again. +

+ +
+ ); +} diff --git a/app/globals.css b/app/globals.css index 574b664..7fad8dc 100644 --- a/app/globals.css +++ b/app/globals.css @@ -55,4 +55,26 @@ background-color: hsl(var(--background)); color: hsl(var(--foreground)); } + + /* Global Focus Visible */ + *:focus-visible { + outline: 2px solid hsl(var(--ring)); + outline-offset: 2px; + } +} + +/* Custom Scrollbar */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-track { + background: hsl(var(--background)); +} +::-webkit-scrollbar-thumb { + background: hsl(var(--border)); + border-radius: 4px; +} +::-webkit-scrollbar-thumb:hover { + background: hsl(var(--muted-foreground)); } diff --git a/app/layout.tsx b/app/layout.tsx index e4025e6..7abb542 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -16,15 +16,23 @@ export default function RootLayout({ }) { return ( - + + + Skip to content + - {children} +
+ {children} +