diff --git a/traque-front/app/admin/page.js b/traque-front/app/admin/page.js index 5cab131..5def44c 100644 --- a/traque-front/app/admin/page.js +++ b/traque-front/app/admin/page.js @@ -1,11 +1,11 @@ "use client"; -import { TeamReady } from "@/components/admin/teamReady"; -import BlueButton, { GreenButton, RedButton } from "@/components/util/button"; import { useAdminConnexion } from "@/context/adminConnexionContext"; import useAdmin from "@/hook/useAdmin"; -import { GameState } from "@/util/gameState"; import dynamic from "next/dynamic"; -import { TeamListFixed } from '@/components/admin/teamList'; +import TeamList from '@/components/admin/teamList'; +import TeamAddForm from '@/components/admin/teamAdd'; +import React, { useState } from 'react' +import TeamEdit from '@/components/admin/teamEdit'; const LiveMap = dynamic(() => import('@/components/admin/mapPicker').then((mod) => mod.LiveMap), { ssr: false @@ -13,23 +13,71 @@ const LiveMap = dynamic(() => import('@/components/admin/mapPicker').then((mod) export default function AdminPage() { const { useProtect } = useAdminConnexion(); const { gameState, changeState } = useAdmin(); + const { addTeam } = useAdmin(); + const [selectedTeamId, setSelectedTeamId] = useState(null); useProtect(); return ( -
+
-
-

Game state

- Current : {gameState} -
- changeState(GameState.SETUP)}>Reset game - changeState(GameState.PLACEMENT)}>Start placement - changeState(GameState.PLAYING)}>Start game +
+

Page Principale

+
+
+
+

Contrôle

+
+
+ + + + + +
+
+
+
+

Équipes

+
+
+ +
- {gameState == GameState.PLACEMENT && }
-
- +
+
+ +
+
+ + + + + + +
) diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx index 31ce085..7cfbc7c 100644 --- a/traque-front/components/admin/mapPicker.jsx +++ b/traque-front/components/admin/mapPicker.jsx @@ -143,7 +143,7 @@ export function LiveMap() { } return ( -
+
{gameState == GameState.PLAYING &&

{`${isShrinking ? "Fin" : "Début"} du rétrécissement de la zone dans : ${formatTime(timeLeftNextZone)}`}

} +
- setTeamName(e.target.value)}/> + setTeamName(e.target.value)} type="text" className="block w-full h-full p-4 text-center ring-1 ring-inset ring-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-400" />
- + +
) diff --git a/traque-front/components/admin/teamList.jsx b/traque-front/components/admin/teamList.jsx index 80c7024..47843e2 100644 --- a/traque-front/components/admin/teamList.jsx +++ b/traque-front/components/admin/teamList.jsx @@ -11,15 +11,23 @@ const reorder = (list, startIndex, endIndex) => { return result; }; -function TeamListItem({ team, index, onSelected, itemSelected }) { - const bgColor = team.captured ? " bg-red-400" : " bg-gray-300"; - const border = " border border-4 " + (itemSelected ? "border-black" : team.captured ? "border-red-400" : "border-gray-300"); - const classNames = 'w-full p-3 my-3' + (bgColor) + (border); +function TeamListItem({ team, index, onSelected, itemSelected }) {; return ( onSelected(team.id)}> {provided => ( -
-

{team.name}

+
+
+ + + + +
+
+

{team.name}

+

+ {team.state === team.captured ? "En jeu" : "Capturé"} +

+
)} diff --git a/traque-front/public/icons/begin.png b/traque-front/public/icons/begin.png new file mode 100644 index 0000000..05789d0 Binary files /dev/null and b/traque-front/public/icons/begin.png differ diff --git a/traque-front/public/icons/greenbattery.png b/traque-front/public/icons/greenbattery.png new file mode 100644 index 0000000..78a094c Binary files /dev/null and b/traque-front/public/icons/greenbattery.png differ diff --git a/traque-front/public/icons/greenconnection.png b/traque-front/public/icons/greenconnection.png new file mode 100644 index 0000000..9860f8d Binary files /dev/null and b/traque-front/public/icons/greenconnection.png differ diff --git a/traque-front/public/icons/greendude.png b/traque-front/public/icons/greendude.png new file mode 100644 index 0000000..e8fd9b4 Binary files /dev/null and b/traque-front/public/icons/greendude.png differ diff --git a/traque-front/public/icons/greenlocation.png b/traque-front/public/icons/greenlocation.png new file mode 100644 index 0000000..99065a7 Binary files /dev/null and b/traque-front/public/icons/greenlocation.png differ diff --git a/traque-front/public/icons/parameters.png b/traque-front/public/icons/parameters.png new file mode 100644 index 0000000..9691a1e Binary files /dev/null and b/traque-front/public/icons/parameters.png differ diff --git a/traque-front/public/icons/placement.png b/traque-front/public/icons/placement.png new file mode 100644 index 0000000..554bd23 Binary files /dev/null and b/traque-front/public/icons/placement.png differ diff --git a/traque-front/public/icons/play.png b/traque-front/public/icons/play.png new file mode 100644 index 0000000..5d90bb4 Binary files /dev/null and b/traque-front/public/icons/play.png differ diff --git a/traque-front/public/icons/reset.png b/traque-front/public/icons/reset.png new file mode 100644 index 0000000..b3a93d7 Binary files /dev/null and b/traque-front/public/icons/reset.png differ