From ce1594cea101f8bc45b8262a3f620d8369597d4a Mon Sep 17 00:00:00 2001 From: GabrielTrettel Date: Mon, 24 Jan 2022 20:19:18 -0300 Subject: [PATCH] initial implementation of "forgot password" --- src/app/navigation/AuthNavigator.js | 8 ++ src/app/screens/LoginScreen.js | 23 ++-- src/app/screens/PasswordRecoveryScreen.js | 136 ++++++++++++++++++++++ 3 files changed, 155 insertions(+), 12 deletions(-) create mode 100644 src/app/screens/PasswordRecoveryScreen.js diff --git a/src/app/navigation/AuthNavigator.js b/src/app/navigation/AuthNavigator.js index 99f2a2d..d20af91 100644 --- a/src/app/navigation/AuthNavigator.js +++ b/src/app/navigation/AuthNavigator.js @@ -2,6 +2,7 @@ import React from "react"; import { createStackNavigator } from "@react-navigation/stack"; import LoginScreen from "../screens/LoginScreen"; import RegisterScreen from "../screens/RegisterScreen"; +import PasswordRecovery from "../screens/PasswordRecoveryScreen" import colors from "../config/colors"; import UserAgreement from "../screens/UserAgreement"; @@ -24,6 +25,13 @@ const AuthNavigator = () => ( component={UserAgreement} options={{ headerTitle: "" }} //headerStyle: {backgroundColor: colors.primary} }} /> + + + ); diff --git a/src/app/screens/LoginScreen.js b/src/app/screens/LoginScreen.js index f461d67..a506ce4 100644 --- a/src/app/screens/LoginScreen.js +++ b/src/app/screens/LoginScreen.js @@ -155,18 +155,17 @@ export default function LoginScreen(props) { - {/* FIXME: update this in future versions */} - {/* { */} - {/* props.navigation.navigate("ForgotPassword"); */} - {/* }} */} - {/* > */} - {/* */} - {/* */} - {/* Esqueceu a senha? */} - {/* */} - {/* */} - {/* */} + { + props.navigation.navigate("PasswordRecovery"); + }} + > + + + Esqueceu a senha? + + + diff --git a/src/app/screens/PasswordRecoveryScreen.js b/src/app/screens/PasswordRecoveryScreen.js new file mode 100644 index 0000000..abbd2be --- /dev/null +++ b/src/app/screens/PasswordRecoveryScreen.js @@ -0,0 +1,136 @@ +import React, { useState, useContext } from "react"; +import { StyleSheet, View, Text } from "react-native"; +import * as Yup from "yup"; + +import { + Form, + SubmitButton, + FormField, + ErrorMessage, +} from "../components/forms"; +import Screen from "../components/Screen"; +import colors from "../config/colors"; +import { dimensions } from "../config/dimensions"; +import assets from "../config/assets"; +import PhoneNumberFormField from "../components/forms/PhoneNumberFormField"; +import SearchablePicker from "../components/SearchablePicker"; + + + +function SecQuestionPicker({ name }) { + const [items, setItems] = useState([ + { value: "Qual a sua cor predileta?", label: "Qual a sua cor predileta?" }, + { + value: "Qual é seu livro predileto?", + label: "Qual é seu livro predileto?", + }, + { + value: "Qual o nome da rua em que você cresceu?", + label: "Qual o nome da rua em que você cresceu?", + }, + { + value: "Qual o nome do seu bicho de estimação predileto?", + label: "Qual o nome do seu bicho de estimação predileto?", + }, + { + value: "Qual a sua comida predileta?", + label: "Qual a sua comida predileta?", + }, + { + value: "Qual é o seu país preferido?", + label: "Qual é o seu país preferido?", + }, + { + value: "Qual é a sua marca de carro predileto?", + label: "Qual é a sua marca de carro predileto?", + }, + ]); + + return ( + + ); +} + + +export default function PasswordRecovery() { + return ( + +
+ + + Recuperação de senha + Responda à pergunta de segurança, isso ajuda a mostrar que + essa conta realmente pertence a você + + + + Número de telefone*: + + + + + + Pergunta*: + + + + + + + Resposta*: + + + + + + + +
+ ); +} + +const styles = StyleSheet.create({ + labelStyle: { + fontSize: dimensions.text.secondary, + fontWeight: "bold", + textAlign: "left", + color: colors.secondary, + marginBottom: 14, + paddingHorizontal: 16, + }, + textHeader: { + textAlign: "center", + fontWeight: "bold", + fontSize: 22 + }, + textSubtitle: { + textAlign: "center", + fontSize: dimensions.text.secondary, + marginVertical: 22, + } +});