23 lines
831 B
JavaScript
23 lines
831 B
JavaScript
import { useQuery } from '@tanstack/react-query';
|
|
|
|
export const useRecipes = (searchQuery, filters) => {
|
|
return useQuery({
|
|
queryKey: ['recipes', searchQuery, filters],
|
|
queryFn: async () => {
|
|
const params = new URLSearchParams({
|
|
apiKey: 'a2f1ea26b02d4919b35c7152b5ebac6d',
|
|
query: searchQuery,
|
|
cuisine: filters.cuisine,
|
|
...(filters.diet && { diet: filters.diet }),
|
|
...(filters.maxTime && { maxReadyTime: filters.maxTime }),
|
|
});
|
|
|
|
const response = await fetch(
|
|
`https://api.spoonacular.com/recipes/complexSearch?${params}&_start=0&_limit=100`
|
|
);
|
|
const data = await response.json();
|
|
return data.results;
|
|
},
|
|
enabled: true,
|
|
});
|
|
}; |