import { CardUIType } from '@/types/car-card.type';

/**
 *
 * Utilizo la lista de todos los autos y obtengo aleatoriamente 4 filtrando
 * el auto actual.
 *
 * @param carCollection
 * @param currentID id del auto que se está viendo en detalle
 * @returns
 */
export const getRecomendations = (carCollection: CardUIType[], currentID: number): CardUIType[] => {
  const copia = [...carCollection].filter((s) => s.id !== currentID);
  // Si el array tiene 4 o menos elementos, devolver todos
  if (copia.length <= 4) {
    return copia;
  }

  // Crear una copia del array para no modificar el original

  const seleccionados = [];

  // Seleccionar 4 elementos aleatorios sin repetición
  for (let i = 0; i < 4; i++) {
    const indiceAleatorio = Math.floor(Math.random() * copia.length);
    seleccionados.push(copia[indiceAleatorio]);
    // Eliminar el elemento seleccionado para evitar repeticiones
    copia.splice(indiceAleatorio, 1);
  }

  return seleccionados;
};
