From 2d3fceb5d50761c59389ef28835b6cc9711c6f73 Mon Sep 17 00:00:00 2001 From: analuizaff Date: Thu, 16 Sep 2021 13:28:06 -0300 Subject: [PATCH] adding the correct fields to the markers modal --- src/app/hooks/useSocketMarkers.js | 85 +++++++++++++++++++++++++++---- src/app/screens/MapFeedScreen.js | 5 +- 2 files changed, 79 insertions(+), 11 deletions(-) diff --git a/src/app/hooks/useSocketMarkers.js b/src/app/hooks/useSocketMarkers.js index 28b877b..a5a84eb 100644 --- a/src/app/hooks/useSocketMarkers.js +++ b/src/app/hooks/useSocketMarkers.js @@ -41,7 +41,7 @@ const initialState = { markers: new Map() }; function getImage(name, situation) { if (name == "automaticPluviometer") { - return custom_assets_pin.pluviometer; + return custom_assets_pin.officialPluviometer; } if (name == "pluviometer") { @@ -82,6 +82,46 @@ function getImage(name, situation) { } } +function getLogo(name, situation) { + if (name == "automaticPluviometer") { + return custom_assets.officialPluviometer; + } + + if (name == "pluviometer") { + return custom_assets.pluviometer; + } + + if (name == "rain") { + if (situation == "sem chuva") { + return custom_assets.rainLevel[0]; + } else if (situation == "chuva fraca") { + return custom_assets.rainLevel[1]; + } else if (situation == "chuva moderada") { + return custom_assets.rainLevel[2]; + } else if (situation == "chuva forte") { + return custom_assets.rainLevel[3]; + } else { + return custom_assets.rainLevel[3]; + } + } + + if (name == "riverFlood") { + if (situation == "baixo") { + return custom_assets.riverLevel[0]; + } else if (situation == "normal") { + return custom_assets.riverLevel[1]; + } else if (situation == "alto") { + return custom_assets.riverLevel[2]; + } else if (situation == "inundar") { + return custom_assets.riverLevel[3]; + } + return custom_assets.riverLevel[0]; + } + if (name == "floodZones") { + return custom_assets.floodZones; + } +} + function buildPolygonsObject(response, name) { var r = JSON.parse(response); var coordinate = []; @@ -115,20 +155,47 @@ function buildMarkerObject(response, name) { const resposta = r.formsanswersgeom; const formsanswersgeom = JSON.parse(resposta).coordinates; + var situation = null; + var address = null; + var date = null; + var time = null; + var comments = null; + var pictures = null; + + if (r.fias) { + r.fias.forEach(function (f) { + if (f.fieldname == "situation") { + situation = f.fieldsanswersvalue; + } + if (f.fieldname == "eventaddress") { + address = f.fieldsanswersvalue; + } + if (f.fieldname == "eventdate") { + date = f.fieldsanswersvalue; + } + if (f.fieldname == "eventtime") { + time = f.fieldsanswersvalue; + } + if (f.fieldname == "comments") { + comments = f.fieldsanswersvalue; + } + }); + } + return { - ID: r.formsanswersid, //response.formsanswersid, + ID: r.formsanswersid, name: name, - title: "Titulo", //response.fieldsanswerssituation - address: "Endereço", //response.fieldsanswerseventaddress, + title: situation, + address: address, coordinate: { latitude: formsanswersgeom[1], longitude: formsanswersgeom[0], }, - date: "data" + " | " + "hora", //response.fieldsanswerseventdate + " | " + response.fieldsanswerseventtime, - description: "comentário", //response.fielsanswercomment, - logo: custom_assets.pluviometer, - pictures: null, - image: getImage(name, "situacão"), //getMarkerImage(answer.name), + date: date + " | " + time, + description: comments, + logo: getLogo(), + pictures: pictures, + image: getImage(name, situation), }; } diff --git a/src/app/screens/MapFeedScreen.js b/src/app/screens/MapFeedScreen.js index 22c1888..6ade136 100644 --- a/src/app/screens/MapFeedScreen.js +++ b/src/app/screens/MapFeedScreen.js @@ -21,18 +21,19 @@ export default function MapFeedScreen(props) { const [dataOptionsToShow, setDataOptionsToShow] = useState({ oficial: { automaticPluviometer: false, - susceptibilityAreas: true, + susceptibilityAreas: false, }, citzen: { floodRisk: false, pluviometer: false, - rain: false, + rain: true, floodZones: false, riverFlood: false, }, }); const markers = useSocketMarkers(); + // console.log(markers); // useEffect(() => { // loadForms();