'use client'; import dynamic from 'next/dynamic'; import LeftPane from '@/components/LeftPane'; import RightPane from '@/components/RightPane'; import { useGameState } from '@/lib/useGameState'; const Map = dynamic(() => import('@/components/Map'), { ssr: false }); export default function Home() { // Single polling source for the whole shell (v0.9.0): one /api/state loop, snapshot passed // down as props so later panes can share it without extra poll loops. applySnapshot (v0.10.0) // lets a pane push an action endpoint's full response snapshot in immediately. const { state, loading, error, refresh, applySnapshot } = useGameState(1000); return (
); }