1. Agora, para finalizar a tela de registro nós vamos utilizar os botões e criar o texto de termos de privacidade.

  2. Vamos então no index.tsx de Register para utilizar esses botões.

    const Register = () => {
      return (
        <Container>
          <BackArrow marginLeft={20} />
          <Title>CRIAR UMA CONTA</Title>
          <Form />
          <DefaultButton
            buttonText="FAZER REGISTRO"
            buttonHandle={() => {}}
            buttonType="primary"
            marginVertical={30}
          />
        </Container>
      );
    };
    
  3. Agora, nós criar o texto de políticas de privacidade, por ser um app de estudo, não vamos criar uma página dessas, porém você pode criar se quiser com um lorem dentro, apenas para treinar a navegação e estilização.

  4. Vamos então em styled para poder criar esse texto

    import styled from "styled-components/native";
    import Constants from "expo-constants";
    
    const statusBarHeight = Constants.statusBarHeight;
    
    export const Container = styled.ScrollView`
      flex: 1;
      background-color: ${({ theme }) => theme.colors.backgroundLight};
      padding-top: ${statusBarHeight + 10}px;
    `;
    
    export const Title = styled.Text`
      font-size: 20px;
      font-weight: bold;
      color: ${({ theme }) => theme.colors.primaryText};
      margin: 15px 0;
      text-align: center;
    `;
    
    export const AcceptTerms = styled.Text`
      font-size: 14px;
      color: ${({ theme }) => theme.colors.secondaryText};
      text-align: center;
    `;
    
  5. Agora nós vamos utilizar esse texto e criar o segundo botão, que será o botão de navegação para o login

    const Register = () => {
      return (
        <Container>
          <BackArrow marginLeft={20} />
          <Title>CRIAR UMA CONTA</Title>
          <Form />
          <DefaultButton
            buttonText="FAZER REGISTRO"
            buttonHandle={() => {}}
            buttonType="primary"
            marginVertical={30}
          />
          <AcceptTerms>Ao fazer o registro aceito{'\\n'}os termos de privacidade</AcceptTerms>
          <DefaultButton
            buttonText="FAZER LOGIN"
            buttonHandle={() => {}}
            buttonType="secondary"
            marginVertical={30}
          />
        </Container>
      );
    };
    
  6. Agora para o handle do registro, podemos deixar sem, pois isso será algo mais para frente, na hora de enviarmos para o backend. O handle de login vamos fazer para navegar para lá.

    import React from "react";
    import { AcceptTerms, Container, Title } from "./styled";
    import BackArrow from "../../components/common/BackArrow";
    import Form from "../../components/Register/Form";
    import DefaultButton from "../../components/common/DefaultButton";
    import { useNavigation } from "@react-navigation/native";
    import { PropsStack } from "../../routes";
    
    const Register = () => {
      const navigation = useNavigation<PropsStack>();
    
      return (
        <Container>
          <BackArrow marginLeft={20} />
          <Title>CRIAR UMA CONTA</Title>
          <Form />
          <DefaultButton
            buttonText="FAZER REGISTRO"
            buttonHandle={() => {}}
            buttonType="primary"
            marginVertical={30}
          />
          <AcceptTerms>
            Ao fazer o registro aceito{"\\n"}os termos de política de privacidade
          </AcceptTerms>
          <DefaultButton
            buttonText="FAZER LOGIN"
            buttonHandle={() => {
              navigation.navigate("Login");
            }}
            buttonType="secondary"
            marginVertical={30}
          />
        </Container>
      );
    };
    
    export default Register;
    
  7. Vamos colocar o padding do scroll, para que a gente tenha uma visualização total da parte de baixo da tela quando ele for ativado.

    import React from "react";
    import { AcceptTerms, Container, Title } from "./styled";
    import BackArrow from "../../components/common/BackArrow";
    import Form from "../../components/Register/Form";
    import DefaultButton from "../../components/common/DefaultButton";
    import { useNavigation } from "@react-navigation/native";
    import { PropsStack } from "../../routes";
    
    const Register = () => {
      const navigation = useNavigation<PropsStack>();
    
      return (
        <Container
          contentContainerStyle={{
            paddingBottom: 60,
          }}
        >
          <BackArrow marginLeft={20} />
          <Title>CRIAR UMA CONTA</Title>
          <Form />
          <DefaultButton
            buttonText="FAZER REGISTRO"
            buttonHandle={() => {}}
            buttonType="primary"
            marginVertical={30}
          />
          <AcceptTerms>
            Ao fazer o registro aceito{"\\n"}os termos de política de privacidade
          </AcceptTerms>
          <DefaultButton
            buttonText="FAZER LOGIN"
            buttonHandle={() => {
              navigation.navigate("Login");
            }}
            buttonType="secondary"
            marginVertical={30}
          />
        </Container>
      );
    };
    
    export default Register;
    
  8. Falta apenas a nossa logo no final da tela para finalizarmos. Podemos copiar o estilo da “companyLogo” da tela de login, pois será a mesma logo.

    export const CompanyLogo = styled.Image.attrs({
      resizeMode: "contain",
    })`
      width: 100px;
      margin: 0 auto;
    `;
    
  9. E agora vamos utilizar

    const companyLogo = require("../../../assets/images/logo-obc.png");
    
    const Register = () => {
      const navigation = useNavigation<PropsStack>();
    
      return (
        <Container
          contentContainerStyle={{
            paddingBottom: 60,
          }}
        >
          <BackArrow marginLeft={20} />
          <Title>CRIAR UMA CONTA</Title>
          <Form />
          <DefaultButton
            buttonText="FAZER REGISTRO"
            buttonHandle={() => {}}
            buttonType="primary"
            marginVertical={30}
          />
          <AcceptTerms>
            Ao fazer o registro aceito{"\\n"}os termos de política de privacidade
          </AcceptTerms>
          <DefaultButton
            buttonText="FAZER LOGIN"
            buttonHandle={() => {
              navigation.navigate("Login");
            }}
            buttonType="secondary"
            marginVertical={30}
          />
          <CompanyLogo source={companyLogo} />
        </Container>
      );
    };
    
  10. Agora nós temos a nossa página finalizada com sucesso