'use client' import { useState } from 'react' import { useRouter, useSearchParams } from 'next/navigation' import Link from 'next/link' import { createClient } from '@/lib/supabase/client' export default function LoginForm() { const router = useRouter() const searchParams = useSearchParams() const [email, setEmail] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState(null) const [loading, setLoading] = useState(false) // Check for success message from password reset const message = searchParams.get('message') const successMessage = message === 'password_reset_success' ? 'Your password has been reset successfully. Please sign in with your new password.' : null async function handleSubmit(e: React.FormEvent) { e.preventDefault() setError(null) setLoading(true) const supabase = createClient() const { error } = await supabase.auth.signInWithPassword({ email, password, }) if (error) { setError(error.message) setLoading(false) return } router.push('/dashboard') } return (

WebVNWrite

Sign in to your account

{successMessage && (

{successMessage}

)} {error && (

{error}

)}
setEmail(e.target.value)} className="mt-1 block w-full rounded-md border border-zinc-300 bg-white px-3 py-2 text-zinc-900 placeholder-zinc-400 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-50 dark:placeholder-zinc-500" placeholder="you@example.com" />
setPassword(e.target.value)} className="mt-1 block w-full rounded-md border border-zinc-300 bg-white px-3 py-2 text-zinc-900 placeholder-zinc-400 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-50 dark:placeholder-zinc-500" placeholder="••••••••" />
Forgot your password?
) }