import useGame from "@/hook/useGame"; import { useEffect, useState } from "react" import { BlueButton, GreenButton } from "../util/button"; import { TextInput } from "../util/textInput"; import useTeamConnexion from "@/context/teamConnexionContext"; import EnemyTeamModal from "./enemyTeamModal"; export default function ActionDrawer() { const [visible, setVisible] = useState(false); const [enemyCaptureCode, setEnemyCaptureCode] = useState(""); const { sendCurrentPosition, name, captureCode, capture, locationSendDeadline, penalties } = useGame(); const {logout} = useTeamConnexion(); const [timeLeftBeforePenalty, setTimeLeftBeforePenalty] = useState(0); const [enemyModalVisible, setEnemyModalVisible] = useState(false); useEffect(() => { const interval = setInterval(() => { console.log(locationSendDeadline) const timeLeft = locationSendDeadline - Date.now(); setTimeLeftBeforePenalty(Math.floor(timeLeft / 1000 / 60)); }, 1000); return () => clearInterval(interval); }, [locationSendDeadline]); function handleCapture() { capture(enemyCaptureCode); setEnemyCaptureCode(""); } return (
setVisible(!visible)} /> {visible &&
{name}
Capture code {String(captureCode).padStart(4,"0")}
{timeLeftBeforePenalty}min before penalty
{Array.from({ length: penalties }).map((_, i) =>
)} {Array.from({ length: 3-penalties }).map((_, i) =>
)}
Update position
Target
setEnemyModalVisible(true)}>See target info
setEnemyCaptureCode(e.target.value)} /> Capture target
{/*
Signal emergency
*/}
} setEnemyModalVisible(false)} />
) }