'use client'; import { useEffect, useState } from 'react'; interface LikeButtonProps { roomId: number; } export default function LikeButton({ roomId }: LikeButtonProps) { const [liked, setLiked] = useState(false); const [totalLikes, setTotalLikes] = useState(0); const [loading, setLoading] = useState(true); useEffect(() => { fetch(`/api/rooms/${roomId}/likes`) .then(res => res.json()) .then(data => { setLiked(data.likedByUser); setTotalLikes(data.totalLikes); setLoading(false); }) .catch(() => setLoading(false)); }, [roomId]); const toggleLike = async () => { try { const res = await fetch(`/api/rooms/${roomId}/likes`, { method: 'POST' }); if (res.ok) { const data = await res.json(); setLiked(data.liked); setTotalLikes(data.totalLikes); } } catch (err) { console.error('Failed to toggle like:', err); } }; if (loading) { return (