"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Eye, EyeOff, Loader2 } from "lucide-react"; import Link from "next/link"; interface LoginDialogProps { open: boolean; onOpenChange: (open: boolean) => void; onLoginSuccess: () => void; } export function LoginDialog({ open, onOpenChange, onLoginSuccess }: LoginDialogProps) { const [loginData, setLoginData] = useState({ email: "", password: "", }); const [showPassword, setShowPassword] = useState(false); const [rememberMe, setRememberMe] = useState(false); const [loginLoading, setLoginLoading] = useState(false); const [error, setError] = useState(null); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setLoginLoading(true); setError(null); try { // Simulate login API call await new Promise((resolve) => setTimeout(resolve, 1000)); // After successful login, close dialog and call success callback setShowPassword(false); setLoginLoading(false); onOpenChange(false); onLoginSuccess(); } catch (err) { setError("Login failed. Please try again."); setLoginLoading(false); } }; return ( Welcome back Please log in to complete your booking {/* Login Form */}
{error && (

{error}

)} {/* Email Field */}
setLoginData({ ...loginData, email: e.target.value })} className="h-12 bg-white border-gray-300" required />
{/* Password Field */}
setLoginData({ ...loginData, password: e.target.value })} className="h-12 bg-white border-gray-300 pr-12" required />
{/* Submit Button */} {/* Remember Me & Forgot Password */}
{ e.preventDefault(); onOpenChange(false); }} > Forgot password?
{/* Sign Up Prompt */}

New to Attune Heart Therapy?{" "} Sign up

); }