import { DeliveryTimeModel, HolidayModel } from "@/lib/types/models";
import { create } from "zustand";

type CommonState = {
  deliveryTimeList: DeliveryTimeModel[];
  holidaysList: HolidayModel[];
};

type CommonActions = {
  setDeliveryTimeList: (data: DeliveryTimeModel[]) => void;
  setHolidaysList: (data: HolidayModel[]) => void;
  clearAll: () => void;
};

export const useCommonStore = create<CommonState & CommonActions>((set) => ({
  // Initial state
  deliveryTimeList: [],
  holidaysList: [],

  // Actions
  setDeliveryTimeList: (data: DeliveryTimeModel[]) =>
    set({ deliveryTimeList: data }),
  setHolidaysList: (data: HolidayModel[]) => set({ holidaysList: data }),
  clearAll: () =>
    set({
      deliveryTimeList: [],
      holidaysList: [],
    }),
}));
