"use client"; import { useState } from "react"; import { redirect } from "next/navigation"; import { Icon } from "@iconify/react"; interface Props { likes: number; miiId: number | undefined; isLiked: boolean; isLoggedIn: boolean; big?: boolean; } export default function LikeButton({ likes, isLiked, miiId, isLoggedIn, big }: Props) { const [isLikedState, setIsLikedState] = useState(isLiked); const [likesState, setLikesState] = useState(likes); const onClick = async () => { if (!isLoggedIn) redirect("/login"); setIsLikedState((prev) => !prev); setLikesState((prev) => (isLiked ? prev - 1 : prev + 1)); const response = await fetch("/api/mii/like", { method: "PATCH", body: JSON.stringify({ miiId }) }); const { liked, count } = await response.json(); setIsLikedState(liked); setLikesState(count); }; return ( ); }