diff --git a/frontend/src/views/projectLiveMonitoring.css b/frontend/src/views/projectLiveMonitoring.css index a1532bb527..1767519aab 100644 --- a/frontend/src/views/projectLiveMonitoring.css +++ b/frontend/src/views/projectLiveMonitoring.css @@ -6,8 +6,14 @@ .top { position: absolute; - top: 390px; + top: 150px; left: 20px; z-index: 999; } +svg.pl2 { + display: inherit; + height: 22px !important; + width: 19px !important; + margin-left: 0px; +} diff --git a/frontend/src/views/projectLiveMonitoring.js b/frontend/src/views/projectLiveMonitoring.js index da668ea699..39404fb9f8 100644 --- a/frontend/src/views/projectLiveMonitoring.js +++ b/frontend/src/views/projectLiveMonitoring.js @@ -9,7 +9,9 @@ import { UnderpassFeatureStats, UnderpassValidationStats, } from '@hotosm/underpass-ui'; -import { ProjectHeader } from '../components/projectDetail/header'; + +import { ProjectVisibilityBox } from '../components/projectDetail/visibilityBox'; +import { ProjectStatusBox } from '../components/projectDetail/statusBox'; import { useSetTitleTag } from '../hooks/UseMetaTags'; import { useParams } from 'react-router-dom'; import { useFetch } from '../hooks/UseFetch'; @@ -17,6 +19,7 @@ import './projectLiveMonitoring.css'; import { MAPBOX_TOKEN } from '../config'; const availableImageryOptions = [ + { label: 'OSM', value: 'osm' }, { label: 'Bing', value: 'Bing' }, { label: 'Mapbox Satellite', value: 'Mapbox' }, { label: 'ESRI World Imagery', value: 'EsriWorldImagery' }, @@ -94,6 +97,7 @@ export function ProjectLiveMonitoring() { const [mapConfig, setMapConfig] = useState(config); const [realtimeList, setRealtimeList] = useState(false); const [realtimeMap, setRealtimeMap] = useState(false); + // eslint-disable-next-line const [status, setStatus] = useState(statusList.UNSQUARED); // eslint-disable-next-line const [area, setArea] = useState(null); @@ -109,7 +113,7 @@ export function ProjectLiveMonitoring() { if (!Object.keys(data).length) return; setProject(data); // add custom to config sources if the project has custom imagery - const hasCustomImagery = data.imagery.includes('http'); + const hasCustomImagery = data.imagery?.includes('http'); if (hasCustomImagery) { setMapConfig((prev) => ({ ...prev, @@ -131,7 +135,7 @@ export function ProjectLiveMonitoring() { ? 'custom' : availableImageryValues.includes(data.imagery) ? data.imagery - : 'Bing'; + : 'osm'; setMapSource(mapSourceValue); }, [data]); @@ -211,9 +215,6 @@ export function ProjectLiveMonitoring() { className="pr3" >
-
- -
@@ -240,7 +241,7 @@ export function ProjectLiveMonitoring() { options={imageryOptions} // placeholder={} onChange={handleMapSourceSelect} - className="w-50 z-2" + className="w-60 z-2 mt-2" />
+ {project && ( +
+
+

+ {project.projectInfo && project.projectInfo.name} +

+ {project.private && ( + + )} + {['DRAFT', 'ARCHIVED'].includes(project.status) && ( + + )} +
+
+ )}
-
- { - setStatus(statusList.ALL); - }} - name="allCheckbox" - id="allCheckbox" - type="radio" - /> - - { - setStatus(statusList.UNSQUARED); - }} - name="geospatialCheckbox" - id="geospatialCheckbox" - type="radio" - /> - - { - setStatus(statusList.BADVALUE); - }} - name="semanticCheckbox" - id="semanticCheckbox" - type="radio" - /> - -
-
- { - setFeatureType('all'); - }} - name="featureTypeAllCheckbox" - id="featureTypeAllCheckbox" - type="radio" - /> - - { - setFeatureType('polygon'); - }} - name="featureTypePolygonCheckbox" - id="featureTypePolygonCheckbox" - type="radio" - /> - - { - setFeatureType('line'); - }} - name="featureTypeLineCheckbox" - id="featureTypeLineCheckbox" - type="radio" - /> - - { - setFeatureType('node'); - }} - name="featureTypeNodeCheckbox" - id="featureTypeNodeCheckbox" - type="radio" - /> - -