"use client"; import { useState, useEffect } from "react"; import dynamic from "next/dynamic"; import Link from "next/link"; import { TextInput } from "@/components/textInput"; import { Section } from "@/components/section"; import { useAdminConnexion } from "@/context/adminConnexionContext"; import useAdmin from '@/hook/useAdmin'; import Messages from "./components/messages"; import TeamManager from './components/teamManager'; // Imported at runtime and not at compile time const ZoneSelector = dynamic(() => import('./components/polygonZoneMap'), { ssr: false }); export default function AdminPage() { const {penaltySettings, changePenaltySettings, addTeam} = useAdmin(); const { useProtect } = useAdminConnexion(); const [allowedTimeBetweenUpdates, setAllowedTimeBetweenUpdates] = useState(""); const [teamName, setTeamName] = useState(''); useProtect(); useEffect(() => { if (penaltySettings) { setAllowedTimeBetweenUpdates(penaltySettings.allowedTimeBetweenPositionUpdate.toString()); } }, [penaltySettings]); function applySettings() { if (Number(allowedTimeBetweenUpdates) != penaltySettings.allowedTimeBetweenPositionUpdate) { changePenaltySettings({allowedTimeBetweenPositionUpdate: Number(allowedTimeBetweenUpdates)}); } } function handleSubmit(e) { e.preventDefault(); if (teamName !== "") { addTeam(teamName); setTeamName("") } } return (
Interval between position updates