diff --git a/pledge-now-pay-later/src/app/(auth)/login/page.tsx b/pledge-now-pay-later/src/app/(auth)/login/page.tsx index 5432766..1b267ed 100644 --- a/pledge-now-pay-later/src/app/(auth)/login/page.tsx +++ b/pledge-now-pay-later/src/app/(auth)/login/page.tsx @@ -1,25 +1,27 @@ "use client" -import { useState } from "react" +import { useState, useEffect, Suspense } from "react" import { signIn } from "next-auth/react" -import { useRouter } from "next/navigation" +import { useRouter, useSearchParams } from "next/navigation" import Link from "next/link" -export default function LoginPage() { +function LoginForm() { const [email, setEmail] = useState("") const [password, setPassword] = useState("") const [error, setError] = useState("") const [loading, setLoading] = useState(false) const router = useRouter() + const searchParams = useSearchParams() + const isDemo = searchParams.get("demo") === "1" - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault() + const doLogin = async (e?: React.FormEvent, demoEmail?: string, demoPass?: string) => { + if (e) e.preventDefault() setError("") setLoading(true) const result = await signIn("credentials", { - email, - password, + email: demoEmail || email, + password: demoPass || password, redirect: false, }) @@ -31,6 +33,12 @@ export default function LoginPage() { } } + const handleSubmit = (e: React.FormEvent) => doLogin(e) + + // Auto-login as demo if ?demo=1 + // eslint-disable-next-line react-hooks/exhaustive-deps + useEffect(() => { if (isDemo) doLogin(undefined, "demo@pnpl.app", "demo1234") }, []) + return (
Don't have an account?{" "} @@ -92,3 +114,11 @@ export default function LoginPage() {
Super admin access required.
+{error}
Platform-wide view · {user?.email}
+{s.value}
+{count}
+{fmt(amount)}
+Free forever · No card needed · 2 minute setup