// PURPOSE: Arcadia-specific wiring around the @crema/auth-ui form library.
//          Each form here is a thin wrapper over the matching auth-ui form
//          (SignInForm, SignUpForm, ForgotPasswordForm, ResetPasswordForm,
//          OtpForm) that adds:
//            • the right arcadia endpoint path
//            • request body shaping (e.g. splitting `name` → first/last)
//            • response decoding (e.g. 2FA challenge branch on /auth/login)
//            • ArcadiaError → human message handling
//
//          The visuals, validation, accessibility, and form layout all
//          come from @crema/auth-ui. If you want to restyle the auth
//          surface, do it there — these wrappers stay thin on purpose.
// ===========================================================================
// EXPORTS
// LoginForm                    — wraps SignInForm; POSTs /api/v1/auth/login;
//                                 returns tokens + user, or 2FA challenge
// SignupForm                   — wraps SignUpForm; POSTs /api/v1/auth/register
// PasswordResetRequestForm     — wraps ForgotPasswordForm
// PasswordResetConfirmForm     — wraps ResetPasswordForm
// TwoFactorChallengeForm       — wraps OtpForm; POSTs /api/v1/2fa/verify
//
// (Planned) OAuthButtons (wrap SocialButton), TwoFactorSetupForm
// (wrap TwoFactorSetup from auth-ui's advanced surface),
// InvitationAcceptForm.
// ===========================================================================
"use client";

export { LoginForm, type LoginFormProps, type LoginResult } from "./login-form";
export { SignupForm, type SignupFormProps, type SignupResult } from "./signup-form";
export {
  PasswordResetRequestForm,
  type PasswordResetRequestFormProps,
} from "./password-reset-request-form";
export {
  PasswordResetConfirmForm,
  type PasswordResetConfirmFormProps,
} from "./password-reset-confirm-form";
export {
  TwoFactorChallengeForm,
  type TwoFactorChallengeFormProps,
  type TwoFactorResult,
} from "./two-factor-challenge-form";
