implement auth error page and moved auth-related pages to /auth path

This commit is contained in:
2025-08-19 04:27:13 -04:00
parent 12e9ec5d85
commit f92c79ac60
6 changed files with 45 additions and 12 deletions

View File

@@ -0,0 +1,31 @@
"use client"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import Link from "next/link"
import { useSearchParams } from "next/navigation"
export default function AuthErrorPage() {
const searchParams = useSearchParams()
const errorMessage = searchParams.get('error')
return (
<div className="min-h-screen flex items-center justify-center bg-background p-4">
<Card className="w-full max-w-md bg-red-400 dark:bg-red-600">
<CardHeader className="text-center">
<CardTitle className="text-2xl font-bold">Error</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<div className="text-center p-3 bg-background rounded-lg">
{errorMessage}
</div>
<div className="flex flex-row">
<Button variant="secondary" asChild>
<Link href="/">Go back to Homepage</Link>
</Button>
</div>
</CardContent>
</Card>
</div>
)
}

View File

@@ -33,7 +33,7 @@ export default function SignIn() {
return ( return (
<Button <Button
onClick={() => router.push("/signin")} onClick={() => router.push("/auth/signin")}
variant="outline" variant="outline"
size="sm" size="sm"
> >

View File

@@ -254,7 +254,7 @@ export default function HomePage() {
Sign in to unlock AI-powered calendar features Sign in to unlock AI-powered calendar features
</div> </div>
<Button variant="outline" size="sm" asChild> <Button variant="outline" size="sm" asChild>
<a href="/signin">Sign In</a> <a href="/auth/signin">Sign In</a>
</Button> </Button>
</div> </div>
)} )}

View File

@@ -25,9 +25,11 @@ const config = {
adapter: DrizzleAdapter(db), adapter: DrizzleAdapter(db),
providers, providers,
pages: { pages: {
signIn: "/signin", signIn: "/auth/signin",
signOut: "/signout", signOut: "/auth/signout",
error: "/auth/error",
}, },
trustHost: true, trustHost: true,
} satisfies NextAuthConfig; } satisfies NextAuthConfig;
export const { handlers, signIn, signOut, auth }: NextAuthResult = NextAuth(config); export const { handlers, signIn, signOut, auth }: NextAuthResult =
NextAuth(config);