import { queryShipGroups } from "@/controller/DeviceController";
import { create } from "zustand";

type ShipGroups = {
  shipGroups: Model.ShipGroup[] | null;
  getShipGroups: () => Promise<void>;
  error: string | null;
  loading?: boolean;
};

export const useShipGroups = create<ShipGroups>((set) => ({
  shipGroups: null,
  getShipGroups: async () => {
    try {
      const response = await queryShipGroups();
      set({ shipGroups: response.data, loading: false });
    } catch (error) {
      console.error("Error when fetch Port: ", error);
      set({ error: "Failed to fetch Port data", loading: false });
      set({ shipGroups: null });
    }
  },
  error: null,
}));
