export type FormFactor = 'mobile' | 'desktop';

const MOBILE_TOKENS = ['Mobile', 'iPhone', 'iPad', 'Android'] as const;

/**
 * Classify a User-Agent string as 'mobile' or 'desktop'.
 * Defaults to 'desktop' when the UA is missing or unrecognized - the CSS
 * media-query fallback in globals.css handles desktop browsers resized below
 * the lg breakpoint, so a wrong-but-defaultish classification never breaks UX.
 */
export function classifyFormFactor(userAgent: string | null | undefined): FormFactor {
  if (!userAgent) return 'desktop';
  return MOBILE_TOKENS.some((token) => userAgent.includes(token)) ? 'mobile' : 'desktop';
}
