several changes

This commit is contained in:
martin.devaux
2025-06-25 19:40:26 +02:00
parent a6670f47cc
commit 1ce44c3664
9 changed files with 103 additions and 36 deletions

View File

@@ -6,17 +6,8 @@ export default function AdminLayout({ children}) {
return (
<AdminConnexionProvider>
<AdminProvider>
<div className='h-full flex flex-col'>
<div className="text-xl max-h-15 bg-gray-800 text-white flex items-center justify-left">
<ul className='flex' >
<Link href="/admin"><li className="p-5 bg-gray-800 hover:bg-gray-600 transition-all cursor-pointer h-full">Admin</li></Link>
<Link href="/admin/teams"><li className="p-5 bg-gray-800 hover:bg-gray-600 transition-all cursor-pointer h-full">Teams</li></Link>
<Link href="/admin/parameters"><li className="p-5 bg-gray-800 hover:bg-gray-600 transition-all cursor-pointer h-full">Parameters</li></Link>
</ul>
</div>
<div className="h-full overflow-y-scroll">
{children}
</div>
<div className="h-full overflow-y-scroll">
{children}
</div>
</AdminProvider>
</AdminConnexionProvider>

View File

@@ -3,18 +3,19 @@ import { useAdminConnexion } from "@/context/adminConnexionContext";
import useAdmin from "@/hook/useAdmin";
import dynamic from "next/dynamic";
import TeamList from '@/components/admin/teamList';
import TeamAddForm from '@/components/admin/teamAdd';
import React, { useState } from 'react'
import TeamEdit from '@/components/admin/teamEdit';
import TeamAddForm from '@/components/admin/teamAdd';
import Link from "next/link";
const LiveMap = dynamic(() => import('@/components/admin/mapPicker').then((mod) => mod.LiveMap), {
ssr: false
});
export default function AdminPage() {
const { useProtect } = useAdminConnexion();
const { gameState, changeState } = useAdmin();
const { addTeam } = useAdmin();
const [selectedTeamId, setSelectedTeamId] = useState(null);
const { addTeam, gameState, changeState, teams } = useAdmin();
useProtect();
return (
<div className='min-h-full bg-gray-200 p-5 flex flex-row content-start gap-5'>
@@ -27,19 +28,30 @@ export default function AdminPage() {
<h2 className="text-2xl">Contrôle</h2>
</div>
<div className="flex flex-row justify-between items-center px-6 py-3">
<button className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center" >
<Link
href="/admin/teams"
className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center"
title="Accéder aux paramètres du jeu">
<img src="/icons/parameters.png" className="w-10 h-10" />
</button>
<button className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center" >
</Link>
<button
className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center"
title="Reprendre la partie">
<img src="/icons/play.png" className="w-10 h-10" />
</button>
<button className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center" >
<button
className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center"
title="Réinitialiser la partie">
<img src="/icons/reset.png" className="w-10 h-10" />
</button>
<button className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center" >
<button
className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center"
title="Commencer les placements">
<img src="/icons/placement.png" className="w-10 h-10" />
</button>
<button className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center" >
<button
className="w-[4.5rem] h-[4.5rem] bg-blue-400 rounded-lg hover:bg-blue-500 transition flex items-center justify-center"
title="Lancer la traque">
<img src="/icons/begin.png" className="w-10 h-10" />
</button>
</div>
@@ -54,28 +66,45 @@ export default function AdminPage() {
</div>
</div>
</div>
<div className='grow flex-1 flex flex-col bg-white p-5 shadow-2xl'>
<div className='grow flex-1 flex flex-col bg-white p-5 shadow-2xl relative'>
<div className="flex-1 flex items-center justify-center bg-gray-200 mb-5">
<LiveMap/>
</div>
<div className='w-full flex flex-row gap-16 items-center px-6'>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<div className='w-full flex flex-row gap-10 items-center px-6'>
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Changer le style de la carte">
<img src="/icons/mapstyle.png" className="w-10 h-10" />
</button>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les zones">
<img src="/icons/zones.png" className="w-10 h-10" />
</button>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les noms des équipes">
<img src="/icons/names.png" className="w-10 h-10" />
</button>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les relations de traque">
<img src="/icons/arrows.png" className="w-10 h-10" />
</button>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les incertitudes de position">
<img src="/icons/incertitude.png" className="w-10 h-10" />
</button>
<button className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center">
<img src="/icons/parameters.png" className="w-10 h-10" />
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les chemins des équipes">
<img src="/icons/path.png" className="w-10 h-10" />
</button>
<button
className="w-16 h-16 bg-blue-400 rounded-full hover:bg-blue-500 transition flex items-center justify-center"
title ="Afficher/cacher les événements">
<img src="/icons/informations.png" className="w-10 h-10" />
</button>
</div>
</div>

View File

@@ -3,16 +3,20 @@ import { GameSettings } from "@/components/admin/gameSettings";
import { PenaltySettings } from "@/components/admin/penaltySettings";
import { useAdminConnexion } from "@/context/adminConnexionContext";
import dynamic from "next/dynamic";
import TeamAddForm from '@/components/admin/teamAdd';
import useAdmin from '@/hook/useAdmin';
const ZoneSelector = dynamic(() => import('@/components/admin/zoneSelector').then((mod) => mod.ZoneSelector), {
ssr: false
});
export default function AdminPage() {
const { addTeam } = useAdmin();
const { useProtect } = useAdminConnexion();
useProtect();
return (
<div className='min-h-full bg-gray-200 p-10 flex flex-row content-start gap-5'>
<div className="h-full w-2/6">
<TeamAddForm onAddTeam={addTeam}/>
<GameSettings />
</div>
<ZoneSelector />