From 2b0945fe5ba0ad02820737e8ba88d582a2332759 Mon Sep 17 00:00:00 2001 From: Arnaud Vergnet Date: Tue, 31 Mar 2020 11:05:00 +0200 Subject: [PATCH] Improved error handling --- screens/Amicale/LoginScreen.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/screens/Amicale/LoginScreen.js b/screens/Amicale/LoginScreen.js index cb36409..dc16550 100644 --- a/screens/Amicale/LoginScreen.js +++ b/screens/Amicale/LoginScreen.js @@ -11,7 +11,7 @@ import { View } from "react-native"; import {Avatar, Button, Card, HelperText, Text, TextInput, withTheme} from 'react-native-paper'; -import ConnectionManager from "../../managers/ConnectionManager"; +import ConnectionManager, {ERROR_TYPE} from "../../managers/ConnectionManager"; import {openBrowser} from "../../utils/WebBrowser"; type Props = { @@ -125,8 +125,7 @@ class LoginScreen extends React.Component { Alert.alert('COOL', 'ÇA MARCHE'); }) .catch((error) => { - console.log(error); - Alert.alert('ERREUR', 'MDP OU MAIL INVALIDE'); + this.handleErrors(error); }) .finally(() => { this.setState({loading: false}); @@ -134,6 +133,24 @@ class LoginScreen extends React.Component { } } + handleErrors(error: number) { + switch (error) { + case ERROR_TYPE.CONNECTION_ERROR: + Alert.alert('ERREUR', 'PB DE CONNEXION'); + break; + case ERROR_TYPE.BAD_CREDENTIALS: + Alert.alert('ERREUR', 'MDP OU MAIL INVALIDE'); + break; + case ERROR_TYPE.SAVE_TOKEN: + Alert.alert('ERREUR', 'IMPOSSIBLE DE SAUVEGARDER INFOS CONNEXION'); + break; + default: + Alert.alert('ERREUR', 'ERREUR INCONNUE. CONTACTER ARNAUD'); + break; + + } + } + getFormInput() { return (