"use client"; import { useState, useEffect } from "react"; import dynamic from "next/dynamic"; import Link from "next/link"; import { TextInput } from "@/components/input"; 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 PolygonZoneSelector = dynamic(() => import('./components/polygonZoneSelector'), { ssr: false }); const CircleZoneSelector = dynamic(() => import('./components/circleZoneSelector'), { ssr: false }); const zoneSelectors = { circle: "circle", polygon: "polygon" } export default function ConfigurationPage() { const {penaltySettings, changePenaltySettings, addTeam} = useAdmin(); const { useProtect } = useAdminConnexion(); const [allowedTimeBetweenUpdates, setAllowedTimeBetweenUpdates] = useState(""); const [teamName, setTeamName] = useState(''); const [zoneSelector, setZoneSelector] = useState(zoneSelectors.polygon); 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