'use client'; import { useRouter } from 'next/navigation'; import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; import { useOrgAdmin } from '../../_lib/org-admin-context'; import { PortalLoginShell } from '../../_components/portal-login-shell'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '../../_components/ui/form'; import { Input } from '../../_components/ui/input'; import { Button } from '../../_components/ui/button'; import Link from 'next/link'; const schema = z.object({ email: z.string().email('Enter a valid email'), password: z.string().min(1, 'Password is required'), }); type FormValues = z.infer; export default function OrgLoginPage() { const { login } = useOrgAdmin(); const router = useRouter(); const form = useForm({ resolver: zodResolver(schema), defaultValues: { email: '', password: '' } }); async function onSubmit(values: FormValues) { try { await login(values.email, values.password); router.replace('/org'); } catch (err) { form.setError('root', { message: err instanceof Error ? err.message : 'Login failed' }); } } return ( ← Back to portal selector} >
( Email )} /> ( Password )} /> {form.formState.errors.root && (

{form.formState.errors.root.message}

)}
); }