import { useQuery } from '@tanstack/react-query' import { api } from '../lib/api.ts' import type { Purchase, Product, Coupon, PriceAlert, PriceHistory } from '../types/api.ts' export function usePurchases() { return useQuery({ queryKey: ['purchases'], queryFn: () => api.get('/purchases'), }) } export function usePurchase(id: string) { return useQuery({ queryKey: ['purchases', id], queryFn: () => api.get(`/purchases/${id}`), enabled: !!id, }) } export function useProducts(search?: string) { return useQuery({ queryKey: ['products', search], queryFn: () => api.get(`/products${search ? `?q=${encodeURIComponent(search)}` : ''}`), }) } export function useProduct(id: string) { return useQuery({ queryKey: ['products', id], queryFn: () => api.get(`/products/${id}`), enabled: !!id, }) } export function usePriceHistory(productId: string) { return useQuery({ queryKey: ['priceHistory', productId], queryFn: () => api.get(`/products/${productId}/prices`), enabled: !!productId, }) } export function useCoupons() { return useQuery({ queryKey: ['coupons'], queryFn: () => api.get('/coupons'), }) } export function usePriceAlerts() { return useQuery({ queryKey: ['priceAlerts'], queryFn: () => api.get('/alerts'), }) }