diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx new file mode 100644 index 0000000..bf56382 --- /dev/null +++ b/src/app/(auth)/login/page.tsx @@ -0,0 +1,66 @@ +"use client"; + +import { authClient } from "@/lib/auth-client"; +import Link from "next/link"; +import { useRouter, useSearchParams } from "next/navigation"; +import { useEffect } from "react"; +import { toast } from "sonner"; + +export default function LoginPage() { + const searchParams = useSearchParams(); + const redirectTo = searchParams.get("redirect"); + + const session = authClient.useSession().data; + const router = useRouter(); + + useEffect(() => { + if (session) { + router.push(redirectTo ?? "/profile"); + } + }); + + function login() { + const username = (document.getElementById("username") as HTMLInputElement).value; + const password = (document.getElementById("password") as HTMLInputElement).value; + console.log(username, password); + if (username.includes("@")) { + authClient.signIn.email({ + email: username, + password: username + }); + } else { + authClient.signIn.username({ + username: username, + password: password, + fetchOptions: { + onError: (ctx) => { + toast.error(ctx.error.message); + } + } + }); + } + } + + return ( +