import { useCallback, useState } from "preact/hooks"; import { IconWand } from "@components/icons.tsx"; type RecommendationState = "disabled" | "loading"; export function Recommendations( { id, type, load = false }: { id: string; type: string; load?: boolean; }, ) { const [state, setState] = useState("disabled"); const [results, setResults] = useState(); const startFetch = useCallback( async () => { if (state === "loading") return; setState("loading"); const res = await fetch(`/api/recommendation/${type}/${id}`); const json = await res.json(); setResults(json); }, [id, type], ); if (load) { startFetch(); } return ( {results && (

Similar Movies

    {results.map((res) => { return (

    {res.title}

    ); })}
)} {state === "loading" && !results && (

Loading...

)} {!results && state === "disabled" && ( )}
); }