"use client"; import { useState } from "react"; import dynamic from "next/dynamic"; import Link from "next/link"; import { TextInput } from "@/components/input"; import { Section } from "@/components/section"; import { BlueButton } from "@/components/button"; import { useAdminConnexion } from "@/context/adminConnexionContext"; import useAdmin from '@/hook/useAdmin'; import Messages from "./components/messages"; import TeamManager from './components/teamManager'; import useLocalVariable from "@/hook/useLocalVariable"; import { ZoneTypes } from "@/util/types"; import { defaultZoneSettings } from "@/util/configurations"; // Imported at runtime and not at compile time const CircleZoneSelector = dynamic(() => import('./components/circleZoneSelector'), { ssr: false }); const PolygonZoneSelector = dynamic(() => import('./components/polygonZoneSelector'), { ssr: false }); export default function ConfigurationPage() { const { useProtect } = useAdminConnexion(); const {zoneSettings, sendPositionDelay, updateSettings, addTeam} = useAdmin(); const [teamName, setTeamName] = useState(''); const [localZoneSettings, setLocalZoneSettings, applyLocalZoneSettings] = useLocalVariable(zoneSettings, (e) => updateSettings({zone: e})); const [localSendPositionDelay, setLocalSendPositionDelay, applyLocalSendPositionDelay] = useLocalVariable(sendPositionDelay, (e) => updateSettings({sendPositionDelay: e})); useProtect(); function modifyLocalZoneSettings(key, value) { setLocalZoneSettings(prev => ({...prev, [key]: value})); } function handleChangeZoneType() { setLocalZoneSettings(localZoneSettings.type == ZoneTypes.CIRCLE ? defaultZoneSettings.polygon : defaultZoneSettings.circle) } function handleTeamSubmit(e) { e.preventDefault(); if (teamName !== "") { addTeam(teamName); setTeamName("") } } return (

Paramètres

setTeamName(e.target.value)} type="text" className="w-full h-full p-4 ring-1 ring-inset ring-gray-300" />

Interval between position updates

setLocalSendPositionDelay(parseInt(e.target.value, 10))} onBlur={applyLocalSendPositionDelay} />
{localZoneSettings && Change zone type}
{localZoneSettings && localZoneSettings.type == ZoneTypes.CIRCLE && } {localZoneSettings && localZoneSettings.type == ZoneTypes.POLYGON && }
); }