From 81c04fcc2514d2d20da09625ddeb74fa3e57170d Mon Sep 17 00:00:00 2001 From: analuizaff Date: Fri, 15 Apr 2022 20:19:56 -0300 Subject: [PATCH] adding internet connection warning to screens --- src/app/config/colors.js | 3 +- src/app/screens/AccountScreen.js | 69 ++++++----- src/app/screens/MapFeedScreen.js | 9 +- src/app/screens/SharingDataScreen.js | 170 ++++++++++++++------------- 4 files changed, 136 insertions(+), 115 deletions(-) diff --git a/src/app/config/colors.js b/src/app/config/colors.js index 11f8895..8e2a1f6 100644 --- a/src/app/config/colors.js +++ b/src/app/config/colors.js @@ -20,5 +20,6 @@ export default { toggle: "#e5eff4", grayBG: "#EEECEC", blueWarning: "#75BDE0", - greenWarning: "#6BC69A" + greenWarning: "#6BC69A", + grayDisabled:"#838383" }; diff --git a/src/app/screens/AccountScreen.js b/src/app/screens/AccountScreen.js index 9f0b528..b2e190b 100644 --- a/src/app/screens/AccountScreen.js +++ b/src/app/screens/AccountScreen.js @@ -10,33 +10,41 @@ import colors from "../config/colors"; import ConfirmationModal from "../components/ConfirmationModal"; import utils from "../config/utils"; import { mask } from "react-native-mask-text"; +import { useNetInfo } from "@react-native-community/netinfo"; +import ConnectionWarning from "../components/ConnectionWarning"; function UserHeader({ name, fone }) { - const index = utils.hashPhoneNumber(fone) % assets.avatar.length || 2 + const index = utils.hashPhoneNumber(fone) % assets.avatar.length || 2; const Avatar = assets.avatar[index]; - + var _mask = ""; switch (fone?.length) { case 12: - _mask = "(999) 99999-9999" ; + _mask = "(999) 99999-9999"; break; case 11: - _mask = "(99) 99999-9999" + _mask = "(99) 99999-9999"; break; case 10: - _mask = "(99) 9999-9999" + _mask = "(99) 9999-9999"; break; default: - _mask = "(99) 9999-9999" + _mask = "(99) 9999-9999"; break; } const fone_mask = mask(fone, _mask); return ( - - - + + + {name} {fone ? fone_mask : ""} @@ -45,6 +53,7 @@ function UserHeader({ name, fone }) { } function ProfileItensList({ icon, IconProvider, title, onPress }) { + const isConnected = useNetInfo().isConnected; return ( - + - + {title} @@ -82,7 +92,7 @@ function ProfileItensList({ icon, IconProvider, title, onPress }) { @@ -98,9 +108,9 @@ function AccountScreen(props) { //console.log(user); const logout = () => { - setShowLog(false) + setShowLog(false); setUser(true); - props.navigation.navigate("Home") + props.navigation.navigate("Home"); authStorage.removeToken(); authStorage.removeUser(); }; @@ -108,35 +118,32 @@ function AccountScreen(props) { const activationActions = () => { if (user?.providerActivationKey) props.navigation.navigate("ActivateInstitutionShowCode"); - else - props.navigation.navigate("ActivateInstitutionCode"); + else props.navigation.navigate("ActivateInstitutionCode"); }; const showActivation = () => { - if (!isRegistered) - return false - else if (user.role === "ROLE_CLIENT") - return !user.active - else - return true - } - + if (!isRegistered) return false; + else if (user.role === "ROLE_CLIENT") return !user.active; + else return true; + }; - const profileItems = [ - { + const profileItems = [ + { icon: "lock", show: true, IconProvider: MaterialCommunityIcons, title: "alterar senha", onPress: () => { - props.navigation.navigate("PasswordRecovery", {user: user}); + props.navigation.navigate("PasswordRecovery", { user: user }); }, }, { icon: "account", show: user.pluviometer != undefined, IconProvider: MaterialCommunityIcons, - title: user.pluviometer? "Dados do pluviômetro" : "Cadastrar pluviômetro", + title: user.pluviometer + ? "Dados do pluviômetro" + : "Cadastrar pluviômetro", onPress: () => { props.navigation.navigate("PluviometerRegister"); }, @@ -182,6 +189,9 @@ function AccountScreen(props) { ]; return ( + + + - + {profileItems.map( @@ -218,6 +228,7 @@ function AccountScreen(props) { + ); } diff --git a/src/app/screens/MapFeedScreen.js b/src/app/screens/MapFeedScreen.js index 366af70..d702aa1 100644 --- a/src/app/screens/MapFeedScreen.js +++ b/src/app/screens/MapFeedScreen.js @@ -8,6 +8,7 @@ import LoadingMarkersModal from "../components/LoadingMarkersModal"; import NoGPSError from "../components/NoGPSError"; import NetInfo, { useNetInfo } from "@react-native-community/netinfo"; +import ConnectionWarning from "../components/ConnectionWarning"; export default function MapFeedScreen(props) { HeaderBarMenu(props.navigation); @@ -33,7 +34,10 @@ export default function MapFeedScreen(props) { // console.log("location: " + JSON.stringify(global.location)) return ( - (global.location) ? ( + + + + { (global.location) ? ( ):( - ) + )} + ); } diff --git a/src/app/screens/SharingDataScreen.js b/src/app/screens/SharingDataScreen.js index b3d4ce5..29c3095 100644 --- a/src/app/screens/SharingDataScreen.js +++ b/src/app/screens/SharingDataScreen.js @@ -7,17 +7,17 @@ import { dimensions } from "../config/dimensions"; import SvgLabeledButton from "../components/SvgLabeledButton"; import { AuthContext } from "../auth/context"; import { useNetInfo } from "@react-native-community/netinfo"; +import ConnectionWarning from "../components/ConnectionWarning"; function SharingDataScreen({ navigation }) { const authContext = useContext(AuthContext); const [showLog, setShowLog] = useState(false); const [showLogPluv, setShowLogPluv] = useState(false); + const [showConnectionWarning, setShowConnectionWarning] = useState(false); const connection = useNetInfo().isConnected; - console.log(connection) const isRegistered = authContext.user?.username != null; const pluviometer = authContext.user?.pluviometer ? true : false; - // console.log(authContext.user?.pluviometer); const currentUser = authContext.user; const onConfirmPluv = () => { @@ -30,91 +30,95 @@ function SharingDataScreen({ navigation }) { }; return ( - - onConfirmPluv()} //{setShowLogPluv(false), navigation.navigate("Perfil")}} - onDecline={() => setShowLogPluv(false)} - /> - authContext.setUser(false)} - onDecline={() => setShowLog(false)} - /> - - - - navigation.navigate("FloodSharingData", { user: currentUser }) - } - active={isRegistered && connection} - inactiveOnPress={() => setShowLog(true)} - /> + + + + + onConfirmPluv()} //{setShowLogPluv(false), navigation.navigate("Perfil")}} + onDecline={() => setShowLogPluv(false)} + /> + authContext.setUser(false)} + onDecline={() => setShowLog(false)} + /> + + + + navigation.navigate("FloodSharingData", { user: currentUser }) + } + active={isRegistered && connection} + inactiveOnPress={() => setShowLog(true)} + /> - - navigation.navigate("RainSharingData", { user: currentUser }) - } - SvgImage={assets.rainLevel.RainIcon} - active={isRegistered && connection} - inactiveOnPress={() => setShowLog(true)} - /> - + + navigation.navigate("RainSharingData", { user: currentUser }) + } + SvgImage={assets.rainLevel.RainIcon} + active={isRegistered && connection} + inactiveOnPress={() => setShowLog(true)} + /> + - - - navigation.navigate("PluviometerSharingData", { - user: currentUser, - }) - } - SvgImage={assets.PluviometricDataIcon} - active={isRegistered && pluviometer && connection} - inactiveOnPress={() => { - setShowLog(!isRegistered), - setShowLogPluv(!pluviometer && isRegistered); + + > + + navigation.navigate("PluviometerSharingData", { + user: currentUser, + }) + } + SvgImage={assets.PluviometricDataIcon} + active={isRegistered && pluviometer && connection} + inactiveOnPress={() => { + setShowLog(!isRegistered), + setShowLogPluv(!pluviometer && isRegistered); + }} + /> - - navigation.navigate("RiverFloodData", { user: currentUser }) - } - SvgImage={assets.riverLevel.RiverIcon} - active={isRegistered && connection} - inactiveOnPress={() => setShowLog(true)} - /> - - + + navigation.navigate("RiverFloodData", { user: currentUser }) + } + SvgImage={assets.riverLevel.RiverIcon} + active={isRegistered && connection} + inactiveOnPress={() => setShowLog(true)} + /> + + + ); }