// src/validators/email.ts (updated)
export interface EmailValidationResult {
  valid: boolean;
  reason?: string;
}
// Common invalid domains to reject
const INVALID_DOMAINS = ['example.com', 'test.com', 'localhost'];
export function validateEmail(email: string): EmailValidationResult {
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  if (!email) {
    return { valid: false, reason: 'Email is required' };
  }
  if (!emailRegex.test(email)) {
    return { valid: false, reason: 'Invalid email format' };
  }
  // Check for invalid domains
  const domain = email.split('@')[1].toLowerCase();
  if (INVALID_DOMAINS.includes(domain)) {
    return { valid: false, reason: 'Invalid email domain' };
  }
  return { valid: true };
}