'use client'; import { toast } from '@/hooks/use-toast'; import { User } from '@/lib/types'; import { User as UserIcon } from 'lucide-react'; import { useState } from 'react'; import { Avatar, AvatarFallback, AvatarImage } from './ui/avatar'; import { Button } from './ui/button'; import { Input } from './ui/input'; import { Label } from './ui/label'; interface PasswordEntryFormProps { user: User; onCancel: () => void; onSubmit: (password: string) => Promise; error?: string; } export default function PasswordEntryForm({ user, onCancel, onSubmit, error }: PasswordEntryFormProps) { const hasPassword = !!user.password; const [password, setPassword] = useState(''); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { await onSubmit(password); } catch (err) { toast({ title: "Error", description: err instanceof Error ? err.message : 'Login failed', variant: "destructive" }); } }; return (
{user.username}
{hasPassword &&
setPassword(e.target.value)} className={error ? 'border-red-500' : ''} /> {error && (

{error}

)}
}
); }