From 704a73ab734dfec5856dbb732b386d88de65658a Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 17 Apr 2024 20:55:36 +0200 Subject: [PATCH] added zone settings in admin ui --- 2024-04-08-Note-11-05.xopp | Bin 0 -> 70227 bytes traque-front/components/admin/mapPicker.jsx | 23 +++++----- .../components/admin/zoneSelector.jsx | 40 ++++++++++++++++-- traque-front/context/adminContext.jsx | 10 ++--- traque-front/hook/mapDrawing.jsx | 1 - traque-front/hook/useAdmin.jsx | 8 ++-- 6 files changed, 58 insertions(+), 24 deletions(-) create mode 100644 2024-04-08-Note-11-05.xopp diff --git a/2024-04-08-Note-11-05.xopp b/2024-04-08-Note-11-05.xopp new file mode 100644 index 0000000000000000000000000000000000000000..3583cae4652158ce2849cbadda7a4c531870fecd GIT binary patch literal 70227 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 F0svi~*$Dsu literal 0 HcmV?d00001 diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx index 22cd72e..65b5e96 100644 --- a/traque-front/components/admin/mapPicker.jsx +++ b/traque-front/components/admin/mapPicker.jsx @@ -1,6 +1,6 @@ "use client"; import { useLocation } from "@/hook/useLocation"; -import { use, useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import "leaflet/dist/leaflet.css"; import { Circle, MapContainer, TileLayer, useMap } from "react-leaflet"; import { useMapCircleDraw } from "@/hook/mapDrawing"; @@ -18,7 +18,7 @@ function MapPan(props) { return null; } -function MapEventListener({onClick, onMouseMove}) { +function MapEventListener({ onClick, onMouseMove }) { const map = useMap(); useEffect(() => { map.on('click', onClick); @@ -36,16 +36,16 @@ function MapEventListener({onClick, onMouseMove}) { } const DEFAULT_ZOOM = 17; -export function CircularAreaPicker({area, setArea, ...props}) { +export function CircularAreaPicker({ area, setArea, ...props }) { const location = useLocation(Infinity); - const {handleClick, handleMouseMove, center, radius} = useMapCircleDraw(area, setArea); + const { handleClick, handleMouseMove, center, radius } = useMapCircleDraw(area, setArea); return ( - {center && radius && } + {center && radius && } ) @@ -54,10 +54,10 @@ export const EditMode = { MIN: 0, MAX: 1 } -export function ZonePicker({minArea, setMinArea, maxArea, setMaxArea,editMode, ...props}) { +export function ZonePicker({ minZone, setMinZone, maxZone, setMaxZone, editMode, ...props }) { const location = useLocation(Infinity); - const {handleClick: maxClick, handleMouseMove: maxHover, center: maxCenter, radius: maxRadius} = useMapCircleDraw(minArea, setMinArea); - const {handleClick: minClick, handleMouseMove: minHover, center: minCenter, radius: minRadius} = useMapCircleDraw(maxArea, setMaxArea); + const { handleClick: maxClick, handleMouseMove: maxHover, center: maxCenter, radius: maxRadius } = useMapCircleDraw(minZone, setMinZone); + const { handleClick: minClick, handleMouseMove: minHover, center: minCenter, radius: minRadius } = useMapCircleDraw(maxZone, setMaxZone); function handleClick(e) { if (editMode == EditMode.MAX) { maxClick(e); @@ -78,9 +78,10 @@ export function ZonePicker({minArea, setMinArea, maxArea, setMaxArea,editMode, . attribution='© OpenStreetMap contributors' url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" /> - {minCenter && minRadius && } - {maxCenter && maxRadius && } + {minCenter && minRadius && } + {maxCenter && maxRadius && } - ) + + ) } \ No newline at end of file diff --git a/traque-front/components/admin/zoneSelector.jsx b/traque-front/components/admin/zoneSelector.jsx index b62323d..c572c75 100644 --- a/traque-front/components/admin/zoneSelector.jsx +++ b/traque-front/components/admin/zoneSelector.jsx @@ -1,17 +1,51 @@ -import { useState } from "react"; -import BlueButton, { RedButton } from "../util/button"; +import { useEffect, useState } from "react"; +import BlueButton, { GreenButton, RedButton } from "../util/button"; import { EditMode, ZonePicker } from "./mapPicker"; +import TextInput from "../util/textInput"; +import useAdmin from "@/hook/useAdmin"; export function ZoneSelector() { const [editMode, setEditMode] = useState(EditMode.MIN); const [minZone, setMinZone] = useState(null); const [maxZone, setMaxZone] = useState(null); + const [reductionCount, setReductionCount] = useState(""); + const [reductionDuration, setReductionDuration] = useState(""); + const [reductionInterval, setReductionInterval] = useState(""); + const {zoneSettings, changeZoneSettings} = useAdmin(); + + useEffect(() => { + if (zoneSettings) { + setMinZone(zoneSettings.min); + setMaxZone(zoneSettings.max); + setReductionCount(zoneSettings.reductionCount.toString()); + setReductionDuration(zoneSettings.reductionDuration.toString()); + setReductionInterval(zoneSettings.reductionInterval.toString()); + } + }, [zoneSettings]); + + function handleSettingsSubmit() { + changeZoneSettings({min:minZone, max:maxZone, reductionCount: Number(reductionCount), reductionDuration: Number(reductionDuration), reductionInterval: Number(reductionInterval)}); + } + return

-

Teams ready status

+

Edit zones

{editMode == EditMode.MIN && setEditMode(EditMode.MAX)}>Edit end zone} {editMode == EditMode.MAX && setEditMode(EditMode.MIN)}>Edit start zone}
+
+

Number of reductions

+ setReductionCount(e.target.value)}> +
+
+

Duration of each reduction

+ setReductionDuration(e.target.value)}> +
+
+

Interval between reductions

+ setReductionInterval(e.target.value)}> +
+ Save
} \ No newline at end of file diff --git a/traque-front/context/adminContext.jsx b/traque-front/context/adminContext.jsx index 0b35eef..3f1e9d4 100644 --- a/traque-front/context/adminContext.jsx +++ b/traque-front/context/adminContext.jsx @@ -7,11 +7,11 @@ import { GameState } from "@/util/gameState"; const adminContext = createContext(); -function AdminProvider({children}) { +function AdminProvider({ children }) { const [teams, setTeams] = useState([]); - const [zone, setZone] = useState(null) + const [zoneSettings, setZoneSettings] = useState(null) const { adminSocket } = useSocket(); - const {loggedIn} = useAdminConnexion(); + const { loggedIn } = useAdminConnexion(); const [gameState, setGameState] = useState(GameState.SETUP); useSocketListener(adminSocket, "game_state", setGameState); @@ -22,9 +22,9 @@ function AdminProvider({children}) { //Bind listeners to update the team list and the game status on socket message useSocketListener(adminSocket, "teams", setTeams); - useSocketListener(adminSocket, "zone", setZone); + useSocketListener(adminSocket, "zone_settings", setZoneSettings); - const value = useMemo(() => ({teams, zone, setZone, setTeams, gameState}), [zone,teams, gameState]); + const value = useMemo(() => ({ teams, zoneSettings, setZoneSettings, setTeams, gameState }), [zoneSettings, teams, gameState]); return ( {children} diff --git a/traque-front/hook/mapDrawing.jsx b/traque-front/hook/mapDrawing.jsx index f354905..804a99a 100644 --- a/traque-front/hook/mapDrawing.jsx +++ b/traque-front/hook/mapDrawing.jsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import { useLocation } from "./useLocation"; export function useMapCircleDraw(area, setArea) { const [drawing, setDrawing] = useState(false); diff --git a/traque-front/hook/useAdmin.jsx b/traque-front/hook/useAdmin.jsx index ae11064..6c25284 100644 --- a/traque-front/hook/useAdmin.jsx +++ b/traque-front/hook/useAdmin.jsx @@ -2,7 +2,7 @@ import { useAdminContext } from "@/context/adminContext"; import { useSocket } from "@/context/socketContext"; export default function useAdmin(){ - const {teams, gameState, zone } = useAdminContext(); + const {teams, gameState, zoneSettings } = useAdminContext(); const {adminSocket} = useSocket(); function pollTeams() { @@ -38,10 +38,10 @@ export default function useAdmin(){ adminSocket.emit("change_state", state); } - function setZone(zone) { - adminSocket.emit("set_zone", zone); + function changeZoneSettings(zone) { + adminSocket.emit("set_zone_settings", zone); } - return {teams, zone, gameState,setZone, pollTeams, getTeam, getTeamName, reorderTeams, addTeam, removeTeam, changeState, updateTeam }; + return {teams, zoneSettings, gameState,changeZoneSettings, pollTeams, getTeam, getTeamName, reorderTeams, addTeam, removeTeam, changeState, updateTeam }; } \ No newline at end of file