"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { usePlaceDetails } from "@/hooks/roblox/usePlaceDetails"; import { RobloxVerifiedSmall } from "@/components/roblox/RobloxTooltips"; import { useGameLaunch } from "@/components/providers/GameLaunchProvider"; import LazyLoadedImage from "@/components/util/LazyLoadedImage"; import { Badge } from "@/components/ui/badge"; import { PlayGameButton } from "@/components/roblox/PlayGameButton"; interface GamePageContentProps { placeId: string; shouldSetDocumentTitle?: boolean; } export default function GamePageContent({ placeId, shouldSetDocumentTitle = true }: GamePageContentProps) { const game = usePlaceDetails(placeId); const [hasHydrated, setHasHydrated] = useState(false); // Set dynamic document title useEffect(() => { if (!shouldSetDocumentTitle) return; if (!!game) { document.title = `${game.name} | Roblox`; } }, [game, shouldSetDocumentTitle]); useEffect(() => { setHasHydrated(true); }, []); if (!hasHydrated || !game) { return (
Playing now
{game.playing.toLocaleString()}
Total visits
{game.visits.toLocaleString()}
Favorites
{game.favoritedCount.toLocaleString()}
Max players
{game.maxPlayers}
{game.description || "No description provided yet."}