diff --git a/src/frontend/src/components/MapComponent/OpenLayersComponent/Layers/VectorLayer.js b/src/frontend/src/components/MapComponent/OpenLayersComponent/Layers/VectorLayer.js index 7b7c79767c..d2c7f6cbc1 100644 --- a/src/frontend/src/components/MapComponent/OpenLayersComponent/Layers/VectorLayer.js +++ b/src/frontend/src/components/MapComponent/OpenLayersComponent/Layers/VectorLayer.js @@ -360,6 +360,24 @@ const VectorLayer = ({ vectorLayer.setProperties(layerProperties); }, [map, vectorLayer, layerProperties]); + useEffect(() => { + if (!map) return; + map.on('pointermove', function (e) { + const pixel = map.getEventPixel(e.originalEvent); + const features = map.getFeaturesAtPixel(pixel); + if (features.length > 0) { + document.getElementById('ol-map').style.cursor = 'pointer'; + } else { + document.getElementById('ol-map').style.cursor = 'default'; + } + }); + + // Clean up + return () => { + map.setTarget(null); + }; + }, [map]); + // style on hover useEffect(() => { if (!map) return null; diff --git a/src/frontend/src/components/ProjectDetailsV2/ProjectInfo.tsx b/src/frontend/src/components/ProjectDetailsV2/ProjectInfo.tsx index 6193254cde..6ac4c21390 100644 --- a/src/frontend/src/components/ProjectDetailsV2/ProjectInfo.tsx +++ b/src/frontend/src/components/ProjectDetailsV2/ProjectInfo.tsx @@ -22,22 +22,22 @@ const ProjectInfo = () => { }, [projectInfo, paraRef.current]); return ( -
+

Description

{projectDetailsLoading ? (
- {Array.from({ length: 10 }).map((i) => ( + {Array.from({ length: 7 }).map((i) => ( ))}
) : (
-

+

{projectInfo?.description}

- {descLines >= 10 && ( + {descLines >= 7 && (

setSeeMore(!seeMore)} diff --git a/src/frontend/src/components/ProjectSubmissions/TaskSubmissionsMap.tsx b/src/frontend/src/components/ProjectSubmissions/TaskSubmissionsMap.tsx index 23c48e25be..0b6f53b1c1 100644 --- a/src/frontend/src/components/ProjectSubmissions/TaskSubmissionsMap.tsx +++ b/src/frontend/src/components/ProjectSubmissions/TaskSubmissionsMap.tsx @@ -217,17 +217,18 @@ const TaskSubmissionsMap = () => { const taskSubmissionsPopupUI = (properties: taskFeaturePropertyType) => { const currentTask = taskInfo?.filter((task) => +task.task_id === properties.uid); + if (currentTask?.length === 0) return; return (

- Task ID: #{currentTask?.[0].task_id} + Task ID: #{currentTask?.[0]?.task_id}

- Expected Count: {currentTask?.[0].feature_count} + Expected Count: {currentTask?.[0]?.feature_count}

- Submission Count: {currentTask?.[0].submission_count} + Submission Count: {currentTask?.[0]?.submission_count}

@@ -284,7 +285,7 @@ const TaskSubmissionsMap = () => { collapsed={true} />
- + {taskInfo?.length > 0 && } {dataExtractUrl && isValidUrl(dataExtractUrl) && ( )}