diff --git a/traque-front/app/team/track/page.js b/traque-front/app/team/track/page.js
index eeb12d4..7df6a01 100644
--- a/traque-front/app/team/track/page.js
+++ b/traque-front/app/team/track/page.js
@@ -3,7 +3,7 @@ import ActionDrawer from '@/components/team/actionDrawer';
import { useTeamConnexion } from '@/context/teamConnexionContext';
import useGame from '@/hook/useGame';
import dynamic from 'next/dynamic';
-import React, { use } from 'react'
+import React from 'react'
//Load the map without SSR
const LiveMap = dynamic(() => import('@/components/team/map'), {
diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx
new file mode 100644
index 0000000..fc6fa37
--- /dev/null
+++ b/traque-front/components/admin/mapPicker.jsx
@@ -0,0 +1,70 @@
+"use client";
+import { useLocation } from "@/hook/useLocation";
+import { use, useEffect, useState } from "react";
+import "leaflet/dist/leaflet.css";
+import { Circle, MapContainer, TileLayer, useMap } from "react-leaflet";
+
+function MapPan(props) {
+ const map = useMap();
+ const [initialized, setInitialized] = useState(false);
+
+ useEffect(() => {
+ if (!initialized && props.center) {
+ map.flyTo(props.center, props.zoom, { animate: false });
+ setInitialized(true)
+ }
+ }, [props.center]);
+ return null;
+}
+
+function MapEventListener({onClick, onMouseMove}) {
+ const map = useMap();
+ useEffect(() => {
+ map.on('click', onClick);
+ return () => {
+ map.off('click', onClick);
+ }
+ }, [onClick]);
+ useEffect(() => {
+ map.on('mousemove', onMouseMove);
+ return () => {
+ map.off('mousemove', onMouseMove);
+ }
+ });
+ return null;
+}
+
+export function CircularAreaPicker({area, setArea, ...props}) {
+ const DEFAULT_ZOOM = 17;
+ const location = useLocation(Infinity);
+ const [drawing, setDrawing] = useState(false);
+ const [center, setCenter] = useState(area?.center || null);
+ const [radius, setRadius] = useState(area?.radius || null);
+
+ function handleClick(e) {
+ if(!drawing) {
+ setCenter(e.latlng);
+ setRadius(null);
+ setDrawing(true);
+ } else {
+ setDrawing(false);
+ setArea({center, radius});
+ }
+ }
+
+ function handleMouseMove(e) {
+ if(drawing) {
+ setRadius(e.latlng.distanceTo(center));
+ }
+ }
+ return (
+