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 (
-
-
+
+

Game state

Current : {gameState} +
changeState(GameState.SETUP)}>Reset game changeState(GameState.PLACEMENT)}>Start placement changeState(GameState.PLAYING)}>Start game +
+
{gameState == GameState.PLACEMENT &&
} {(gameState == GameState.SETUP || gameState == GameState.PLACEMENT) && } + {(gameState == GameState.SETUP || gameState == GameState.PLACEMENT) && } {gameState == GameState.PLAYING &&
- +
}
) diff --git a/traque-front/app/team/track/page.js b/traque-front/app/team/track/page.js index a054ccc..038389e 100644 --- a/traque-front/app/team/track/page.js +++ b/traque-front/app/team/track/page.js @@ -6,6 +6,7 @@ import { WaitingScreen } from '@/components/team/waitingScreen'; import { LogoutButton } from '@/components/util/button'; import { useSocket } from '@/context/socketContext'; import { useTeamConnexion } from '@/context/teamConnexionContext'; +import { useTeamContext } from '@/context/teamContext'; import useGame from '@/hook/useGame'; import { GameState } from '@/util/gameState'; import dynamic from 'next/dynamic'; @@ -20,7 +21,8 @@ const PlacementMap = dynamic(() => import('@/components/team/map').then((mod) => }); export default function Track() { - const { gameState, captured } = useGame(); + const { gameState, captured } = useGame(); + const { gameSettings} = useTeamContext() const { useProtect } = useTeamConnexion(); const { teamSocket: socket } = useSocket(); useProtect(); @@ -34,7 +36,7 @@ export default function Track() { } {gameState == GameState.PLAYING && captured &&
Vous avez été capturé
-
Instructions de retour ici
+
{gameSettings?.capturedMessage}
} {gameState == GameState.PLACEMENT &&
@@ -45,8 +47,8 @@ export default function Track() { {gameState == GameState.FINISHED &&
Partie terminée
- {captured &&
Vous avez perdu
} - {!captured &&
Vous avez gagné
} + {captured &&
{gameSettings?.loserEndGameMessage}
} + {!captured &&
{gameSettings?.winnerEndGameMessage}
}
} diff --git a/traque-front/components/admin/gameSettings.jsx b/traque-front/components/admin/gameSettings.jsx new file mode 100644 index 0000000..87887ff --- /dev/null +++ b/traque-front/components/admin/gameSettings.jsx @@ -0,0 +1,49 @@ +import useAdmin from "@/hook/useAdmin"; +import { TextArea } from "../util/textInput"; +import { GreenButton } from "../util/button"; +import { useEffect, useState } from "react"; + +export const GameSettings = () => { + const {gameSettings, changeGameSettings} = useAdmin(); + const [capturedMessage, setCapturedMessage] = useState(""); + const [winnerEndMessage, setWinnerEndMessage] = useState(""); + const [loserEndMessage, setLoserEndMessage] = useState(""); + const [waitingMessage, setWaitingMessage] = useState(""); + + useEffect(() => { + console.log({gameSettings}) + if (gameSettings) { + setCapturedMessage(gameSettings.capturedMessage); + setWinnerEndMessage(gameSettings.winnerEndGameMessage); + setLoserEndMessage(gameSettings.loserEndGameMessage); + setWaitingMessage(gameSettings.waitingMessage); + } + }, [gameSettings]); + + function applySettings() { + changeGameSettings({capturedMessage: capturedMessage, winnerEndGameMessage: winnerEndMessage, loserEndGameMessage: loserEndMessage, waitingMessage: waitingMessage}); + } + + return ( +
+

Other settings

+
+

Waiting message

+