import { useState, useEffect } from 'react'; import { api } from '../lib/api'; import type { RecommendationItem } from '../lib/api'; interface RecommendationsState { items: RecommendationItem[]; completed: number; total: number; loading: boolean; error: string | null; } export function useRecommendations(): RecommendationsState { const [state, setState] = useState({ items: [], completed: 0, total: 0, loading: true, error: null, }); useEffect(() => { api.recommendations() .then((res) => { setState({ items: res.items, completed: res.completed, total: res.total, loading: false, error: null, }); }) .catch((err: unknown) => { setState((prev) => ({ ...prev, loading: false, error: String(err) })); }); }, []); return state; }