feat: get miis from database and client like button

This commit is contained in:
trafficlunar 2025-03-29 22:48:35 +00:00
parent 7b799405dc
commit 8625321ece
5 changed files with 89 additions and 18 deletions

View file

@ -0,0 +1,31 @@
"use client";
import { useState } from "react";
import { redirect } from "next/navigation";
import { Icon } from "@iconify/react";
interface Props {
likes: number;
isLoggedIn: boolean;
}
export default function LikeButton({ likes, isLoggedIn }: Props) {
const [isLiked, setIsLiked] = useState(false);
const [likesState, setLikesState] = useState(likes);
const onClick = () => {
if (!isLoggedIn) redirect("/login");
setIsLiked((prev) => !prev);
setLikesState((prev) => (isLiked ? prev - 1 : prev + 1));
// todo: update database
};
return (
<button onClick={onClick} className="flex items-center gap-2 text-xl text-red-400 mt-1 cursor-pointer">
<Icon icon={isLiked ? "icon-park-solid:like" : "icon-park-outline:like"} />
<span>{likesState}</span>
</button>
);
}