/** Límites alineados al copy del formulario (JPG/PNG, máx. 2Mb). Mismo criterio que ConfiguracionMarcaTenant / IdentidadVisual. */
export const PERSONA_FOTO_MAX_BYTES = 2 * 1024 * 1024;

export const PERSONA_FOTO_ACCEPT_MIME = ['image/jpeg', 'image/png'];

/**
 * @param {File | null | undefined} file
 * @param {{ maxBytes?: number, acceptMime?: string[] }} [opts]
 * @returns {string} Mensaje de error para la 1.ª línea de la caja roja, o '' si es válido.
 */
export function validatePersonaFotoFile(file, opts = {}) {
  if (!file) return '';
  const maxBytes = opts.maxBytes ?? PERSONA_FOTO_MAX_BYTES;
  const acceptMime = opts.acceptMime ?? PERSONA_FOTO_ACCEPT_MIME;
  const type = (file.type || '').toLowerCase();
  if (!acceptMime.includes(type)) {
    return 'La imagen debe ser JPG o PNG.';
  }
  if (file.size > maxBytes) {
    return 'El archivo supera el tamaño máximo permitido (2 Mb).';
  }
  return '';
}
