// components/auth/LoginForm.tsx 'use client'; import * as React from 'react'; import Button from '@/components/ui/Button'; type LoginValues = { identifier: string; password: string; }; export interface LoginFormProps { title?: string; subtitle?: string; onSubmit?: (values: LoginValues) => void | Promise; isSubmitting?: boolean; errorMessage?: string | null; } const LoginForm: React.FC = ({ title = 'Bitte melde dich an', subtitle, onSubmit, isSubmitting, errorMessage, }) => { const [form, setForm] = React.useState({ identifier: '', password: '', }); const handleChange = (field: keyof LoginValues) => (e: React.ChangeEvent) => { const value = e.target.value; setForm((prev) => ({ ...prev, [field]: value })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!onSubmit) return; await onSubmit(form); }; return (
{/* Header */}
Your Company Your Company

{title}

{subtitle && (

{subtitle}

)}
{/* Card */}
{/* Benutzername / E-Mail */}
{/* Passwort */}
{/* Optional: Passwort vergessen Link – kannst du lassen oder entfernen */} {/* Error */} {errorMessage && (

{errorMessage}

)} {/* Submit */}
); }; export default LoginForm;