import { AnyAction, createAsyncThunk } from '@reduxjs/toolkit';
import Cookies from 'js-cookie';

const getAuthorizationHeader = () => {
  const token = Cookies.get('jazz_token');
  return {
    authorization: `Bearer ${token}`,
  };
};

export const fetchInitialCartData: any = createAsyncThunk(
  'cart/fetchInitialCartData',
  async (_, { rejectWithValue }) => {
    try {
      const response = await fetch(`https://api.jazzagain.com/public/index.php/api/user/carts`, {
        headers: getAuthorizationHeader(),
      });
      const data = await response.json();
      if (!response.ok) return rejectWithValue(data);
      return data.carts.data;
    } catch (error) {
      return rejectWithValue(error);
    }
  }
);

