diff --git a/traque-front/app/admin/page.js b/traque-front/app/admin/page.js index 4708951..af4a7d7 100644 --- a/traque-front/app/admin/page.js +++ b/traque-front/app/admin/page.js @@ -1,4 +1,6 @@ "use client"; +import { GameSettings } from "@/components/admin/gameSettings"; +import { PenaltySettings } from "@/components/admin/penaltySettings"; import { TeamReady } from "@/components/admin/teamReady"; import BlueButton, { GreenButton, RedButton } from "@/components/util/button"; import { useAdminConnexion } from "@/context/adminConnexionContext"; @@ -13,24 +15,28 @@ const LiveMap = dynamic(() => import('@/components/admin/mapPicker').then((mod) ssr: false }); export default function AdminPage() { - const { useProtect } = useAdminConnexion(); + const { useProtect } = useAdminConnexion(); const { gameState, changeState } = useAdmin(); useProtect(); return (
Waiting message
+Captured message
+Game finished message (winner)
+Game finished message (loser)
+Maximum Penalties
+Time out of the zone before a penalty
+Allowed time between position updates
+Secret : {String(team.id).padStart(6, '0')}
@@ -77,18 +78,16 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) {Starting zone
+Profile picture
+{notification?.text}
Uploadez une photo où tous les membres de l'équipe sont visibles
diff --git a/traque-front/components/util/textInput.jsx b/traque-front/components/util/textInput.jsx index 2a8580e..01778be 100644 --- a/traque-front/components/util/textInput.jsx +++ b/traque-front/components/util/textInput.jsx @@ -5,3 +5,9 @@ export default function TextInput({...props}) { ) } + +export function TextArea({...props}) { + return ( + + ) +} diff --git a/traque-front/context/adminContext.jsx b/traque-front/context/adminContext.jsx index 8c4ab65..0c94189 100644 --- a/traque-front/context/adminContext.jsx +++ b/traque-front/context/adminContext.jsx @@ -10,6 +10,8 @@ const adminContext = createContext(); function AdminProvider({ children }) { const [teams, setTeams] = useState([]); const [zoneSettings, setZoneSettings] = useState(null) + const [penaltySettings, setPenaltySettings] = useState(null); + const [gameSettings, setGameSettings] = useState(null); const [zone, setZone] = useState(null); const [zoneExtremities, setZoneExtremities] = useState(null); const { adminSocket } = useSocket(); @@ -25,10 +27,12 @@ function AdminProvider({ children }) { //Bind listeners to update the team list and the game status on socket message useSocketListener(adminSocket, "teams", setTeams); useSocketListener(adminSocket, "zone_settings", setZoneSettings); + useSocketListener(adminSocket, "game_settings", setGameSettings); + useSocketListener(adminSocket, "penalty_settings", setPenaltySettings); useSocketListener(adminSocket, "zone", setZone); useSocketListener(adminSocket, "new_zone", setZoneExtremities); - const value = useMemo(() => ({ zone, zoneExtremities, teams, zoneSettings, setZoneSettings, setTeams, gameState }), [zoneSettings, teams, gameState, zone, zoneExtremities]); + const value = useMemo(() => ({ zone, zoneExtremities, teams, zoneSettings, penaltySettings, gameSettings, gameState }), [zoneSettings, teams, gameState, zone, zoneExtremities, penaltySettings, gameSettings]); return (