import { use, useState } from "react"; import { AuthContext } from "../../context/AuthContext"; import { useNavigate } from "react-router-dom"; import { EngagementMakeRecipe } from "../../services/EngagementService"; import { isApiError } from "../../types/api/error"; interface MadeButtonProps { id: number; } export default function MadeButton({ id }: MadeButtonProps) { // CONTEXT const { isLoggedIn } = use(AuthContext); const navigate = useNavigate(); const [clicked, setClicked] = useState(false); const clickHandler = async () => { // This button cannot be used if not logged in if (!isLoggedIn) { await navigate("/v2/web/login"); return; } if (!id || clicked) return; // Toggle button first, to feel fast setClicked(true); const result = await EngagementMakeRecipe(id); if (isApiError(result)) { console.error(result.message); } } return ( ); }