import { DODAJ_TALIE, DODAJ_KARTE } from "../akcje/typy";

function talieZNowymiKartami(stareTalia, karta) {
  return stareTalia.map(talia => {
    if (talia.id === karta.idTalii) {
      talia.dodajKarte(karta);
      return talia;
    } else {
      return talia;
    }
  });
}

const reduktor = (stan = [], akcja) => {
  console.warn("Zmiany nie są zapisywane");

  switch (akcja.type) {
    case DODAJ_TALIE:
      return stan.concat(akcja.dane);
    case DODAJ_KARTE:
      return talieZNowymiKartami(stan, akcja.dane);
  }
  return stan;
};

export default reduktor;
