import { cartApi } from "@api/cart";
import { cancelCC } from "@/stores/cc";

export const inCart = () => {
  let saveCart = JSON.parse(localStorage.getItem("saveCart") || "[]");
  if (Array.isArray(saveCart)) {
    saveCart.forEach(async (id: string) => {
      const [_, addError] = await cartApi.add(id);

      if (addError) {
        console.error(addError);
      } else {
        let index = saveCart.indexOf("green");

        if (index !== -1) {
          saveCart.splice(index, 1);
        }

        localStorage.setItem("saveCart", JSON.stringify(saveCart));
      }
    });
  } else {
    localStorage.setItem("saveCart", "[]");
  }
};

export const outCart = (cart: string[]) => {
  //Сделаем муторно и подольше, зато при прерывании сессии данные потеряются минимально
  if (cart.length > 0) {
    cart.forEach(async (id: string) => {
      const [_, deleteError] = await cartApi.delete(id);

      if (deleteError) {
        console.error(deleteError);
        cancelCC()//мы хотели открыть модалку после покупки тарифа на создание квиза, но не вышло и модалку не откроем

        return;
      }

      let saveCart = JSON.parse(localStorage.getItem("saveCart") || "[]") || [];
      if (!Array.isArray(saveCart)) saveCart = []
      saveCart = saveCart.push(id);
      localStorage.setItem("saveCart", JSON.stringify(saveCart));
    });
  }
}; 