import { queryTrip } from "@/controller/TripController";
import { create } from "zustand";

type Trip = {
  trip: Model.Trip | null;
  getTrip: () => Promise<void>;
  error: string | null;
  loading?: boolean;
};

export const useTrip = create<Trip>((set) => ({
  trip: null,
  getTrip: async () => {
    try {
      const response = await queryTrip();
      console.log("Trip fetching API");

      set({ trip: response.data, loading: false });
    } catch (error) {
      console.error("Error when fetch trip: ", error);
      set({ error: "Failed to fetch trip data", loading: false });
      set({ trip: null });
    }
  },
  error: null,
}));
