import { Head, useForm, usePage } from '@inertiajs/react'; import { LoaderCircle } from 'lucide-react'; import { FormEventHandler } from 'react'; import InputError from '@/components/ui/input-error'; import TextLink from '@/components/text-link'; import { Button } from '@/components/ui/button'; import { Checkbox } from '@/components/ui/checkbox'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import AuthLayout from '@/layouts/auth/layout'; import { SharedData } from '@/types'; type LoginForm = { email: string; password: string; remember: boolean; }; interface LoginProps { status?: string; canResetPassword: boolean; } export default function Login({ status, canResetPassword }: LoginProps) { const page = usePage(); const { data, setData, post, processing, errors, reset } = useForm>({ email: page.props.demo ? 'demo@vitodeploy.com' : '', password: page.props.demo ? 'password' : '', remember: false, }); const submit: FormEventHandler = (e) => { e.preventDefault(); post(route('login.store'), { onFinish: () => reset('password'), }); }; return (
setData('email', e.target.value)} placeholder="email@example.com" />
{canResetPassword && ( Forgot password? )}
setData('password', e.target.value)} placeholder="Password" />
setData('remember', !data.remember)} tabIndex={3} />
{status &&
{status}
}
); }