diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx index 65b5e96..5fe6ab5 100644 --- a/traque-front/components/admin/mapPicker.jsx +++ b/traque-front/components/admin/mapPicker.jsx @@ -2,7 +2,7 @@ import { useLocation } from "@/hook/useLocation"; import { useEffect, useState } from "react"; import "leaflet/dist/leaflet.css"; -import { Circle, MapContainer, TileLayer, useMap } from "react-leaflet"; +import { Circle, MapContainer, Marker, TileLayer, useMap } from "react-leaflet"; import { useMapCircleDraw } from "@/hook/mapDrawing"; function MapPan(props) { @@ -36,7 +36,7 @@ function MapEventListener({ onClick, onMouseMove }) { } const DEFAULT_ZOOM = 17; -export function CircularAreaPicker({ area, setArea, ...props }) { +export function CircularAreaPicker({ area, setArea, markerPosition, ...props }) { const location = useLocation(Infinity); const { handleClick, handleMouseMove, center, radius } = useMapCircleDraw(area, setArea); return ( @@ -46,6 +46,13 @@ export function CircularAreaPicker({ area, setArea, ...props }) { url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" /> {center && radius && } + {markerPosition && } ) diff --git a/traque-front/components/admin/teamEdit.jsx b/traque-front/components/admin/teamEdit.jsx index 95fc4f9..986e3b4 100644 --- a/traque-front/components/admin/teamEdit.jsx +++ b/traque-front/components/admin/teamEdit.jsx @@ -76,7 +76,7 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) {

Starting area

- updateTeam(team.id, { startingArea })} /> + updateTeam(team.id, { startingArea })} markerPosition={team?.currentLocation}/>
) diff --git a/traque-front/components/team/waitingScreen.jsx b/traque-front/components/team/waitingScreen.jsx index 9d534f7..346dcd7 100644 --- a/traque-front/components/team/waitingScreen.jsx +++ b/traque-front/components/team/waitingScreen.jsx @@ -1,20 +1,49 @@ import { useTeamConnexion } from "@/context/teamConnexionContext"; import useGame from "@/hook/useGame" +import { GreenButton } from "../util/button"; +import { useRef } from "react"; export function WaitingScreen() { - const { name } = useGame(); + const { name, teamId } = useGame(); + const imageRef = useRef(null); const { logout } = useTeamConnexion(); + const SERVER_URL = "https://" + process.env.NEXT_PUBLIC_SOCKET_HOST + ":" + process.env.NEXT_PUBLIC_SOCKET_PORT; + + function sendImage() { + let data = new FormData(); + data.append('file', document.querySelector('input[type="file"]').files[0]); + + fetch(SERVER_URL + "/upload?team=" + teamId.toString() , { + method: 'POST', + body: data + }).then((response) => { + console.log(response); + refreshImage(); + }); + } + + function refreshImage() { + imageRef.current.src = ""; + imageRef.current.src = SERVER_URL + "/photo/my?team=" + teamId.toString() + "&t=" + new Date().getTime(); + } + + return (
-
+
Equipe : {name}
- Jeu en préparation, veuillez patienter... + Jeu en préparation, veuillez patienter...
-
- Vous avez perdu Le Jeu +
+

Uploadez une photo où tous les membres de l'équipe sont visibles

+ +
+ Envoyer +
+ {teamId &&
)