import dayjs from 'dayjs';
import { useCentralSlotStore } from '@/src/store/centralSlotStore';

export function useProductSlotIdentifier() {
  // Get slots data from central store
  const slots = useCentralSlotStore((state) => state.slots);
  const productSlotsMap = useCentralSlotStore((state) => state.productSlotsMap);

  const getQuickestSlot = (productId: number): number | null => {
    if (!slots?.length) return null;
    
    const now = dayjs();
    const productInfo = productSlotsMap[productId];
    
    if (!productInfo?.slots?.length) return null;
    
    // Find slots that contain this product and have future delivery time
    const availableSlots = productInfo.slots.filter((slot: any) =>
      dayjs(slot.deliveryTime).isAfter(now)
    );
    
    if (availableSlots.length === 0) return null;

    // Return earliest slot ID (sorted by delivery time)
    const earliestSlot = availableSlots.sort((a: any, b: any) =>
      dayjs(a.deliveryTime).diff(dayjs(b.deliveryTime))
    )[0];

    return earliestSlot.id;
  };

  return { getQuickestSlot, productSlotsMap };
}
