"use client"; import { useState } from 'react'; import dynamic from "next/dynamic"; import Link from "next/link"; import Image from "next/image"; import { Section } from "@/components/section"; import { useAuth } from "@/context/authContext"; import { useAdmin } from '@/context/adminContext'; import { GameState } from "@/config/types"; import { mapStyles } from '@/config/configurations'; import TeamSidePanel from "./components/teamSidePanel"; import TeamViewer from './components/teamViewer'; import { emitState } from '@/services/socket/emitters'; // Imported at runtime and not at compile time const LiveMap = dynamic(() => import('./components/liveMap'), { ssr: false }); function MainTitle() { return (
home

Page principale

); } function MapButton({ icon, ...props }) { return ( ); } function ControlButton({ icon, ...props }) { return ( ); } export default function AdminPage() { const { useProtect } = useAuth(); const { getTeam } = useAdmin(); const [selectedTeamId, setSelectedTeamId] = useState(null); const [mapStyle, setMapStyle] = useState(mapStyles.default); const [showZones, setShowZones] = useState(true); const [showNames, setShowNames] = useState(true); const [showArrows, setShowArrows] = useState(true); const [isFocusing, setIsFocusing] = useState(true); useProtect(); function onSelected(id) { if (selectedTeamId == id && (!getTeam(id)?.currentLocation || isFocusing)) { setSelectedTeamId(null); setIsFocusing(false); } else { setSelectedTeamId(id); setIsFocusing(true); } } function switchMapStyle() { setMapStyle(mapStyle == mapStyles.default ? mapStyles.satellite : mapStyles.default); } function switchZones() { setShowZones(!showZones); } function switchNames() { setShowNames(!showNames); } function switchArrows() { setShowArrows(!showArrows); } return (
emitState(GameState.SETUP)} /> emitState(GameState.PLACEMENT)} /> emitState(GameState.PLAYING)} />
{selectedTeamId &&
setSelectedTeamId(null)}/>
}
); }