import React, { useState } from "react"; import { dimensions, screen_width } from "../config/dimensions"; import { View, StyleSheet, Text, Button, TouchableOpacity, ScrollView, } from "react-native"; import SelfClosingModal from "./SelfClosingModal"; import colors from "../config/colors"; import { FontAwesome5 } from "@expo/vector-icons"; import { MaterialIcons } from "@expo/vector-icons"; import { MaterialCommunityIcons } from "@expo/vector-icons"; import { Shadow } from "react-native-shadow-2"; import assets from "../config/assets"; function DataMenuHeader({ setShowModal }) { return ( DADOS setShowModal(null)} > ); } function DataOriginSelector({ dataOriginToShow, setDataOriginToShow }) { const bgToUse = (selected) => dataOriginToShow == selected ? colors.secondary : colors.gray; return ( setDataOriginToShow("oficial")} > OFICIAL setDataOriginToShow("citzen")} > CIDADÃO ); } // FIXME: Change icon values in the future const dataOptions = { oficial: [ { name: "Área de suscetibilidade", code: "susceptibilityAreas", source: "CPRM", icon: assets.floodZones.FloodZonesIcon, }, { name: "Pluviômetro automático", code: "automaticPluviometer", source: "Cemaden", icon: assets.floodZones.FloodZonesIcon, }, ], citzen: [ { name: "Risco de inundação", code: "floodRisk", source: null, icon: assets.floodZones.FloodZonesIcon, }, { name: "Pluviômetro artesanal", code: "pluviometer", source: null, icon: assets.floodZones.FloodZonesIcon, }, { name: "Intensidade de chuva", code: "rain", source: null, icon: assets.floodZones.FloodZonesIcon, }, { name: "Área de alagamento", code: "floodZones", source: null, icon: assets.floodZones.FloodZonesIcon, }, { name: "Água do rio", code: "riverFlood", source: null, icon: assets.floodZones.FloodZonesIcon, }, ], }; function Border() { return ( ); } function ListDataOptions( dataOptionsToShow, dataOriginToShow, setDataOptionsToShow, option ) { const item = dataOptionsToShow[dataOriginToShow][option.code]; const dataOptionObject = { ...dataOptionsToShow, [dataOriginToShow]: { ...dataOptionsToShow[dataOriginToShow], [option.code]: !item, }, }; return ( {option.name} {option.source && ( Fonte: {option.source} )} { setDataOptionsToShow(dataOptionObject); }} > {item ? "ADICIONAR" : "REMOVER"} ); } function DataOriginOptions({ dataOriginToShow, dataOptionsToShow, setDataOptionsToShow, }) { return ( {dataOptions[dataOriginToShow].map((option) => ListDataOptions( dataOptionsToShow, dataOriginToShow, setDataOptionsToShow, option ) )} ); } function DataMenuBody({ setShowModal }) { const [dataOriginToShow, setDataOriginToShow] = useState("oficial"); const [dataOptionsToShow, setDataOptionsToShow] = useState({ oficial: { automaticPluviometer: false, susceptibilityAreas: false, }, citzen: { floodRisk: false, pluviometer: true, rain: false, floodZones: true, riverFlood: true, }, }); return ( ); } function ModalOpenBtn({setShowModal}) { return ( setShowModal()} > VISUALIZAR DADOS NO MAPA ); } export default function MapDataMenu(props) { const [showModal, setShowModal] = useState(null); return ( setShowModal(true)}/> ); } const styles = StyleSheet.create({ choicesBtn: { width: "50%", backgroundColor: colors.secondary, height: "100%", justifyContent: "center", paddingHorizontal: 12, alignItems: "center", justifyContent: "flex-start", flexDirection: "row", }, itensText: { color: colors.black, fontWeight: "500", fontSize: 16, }, text: { color: colors.white, alignSelf: "center", fontWeight: "500", fontSize: 16, }, topBarIcon: { alignSelf: "center", }, });