1. Nós vamos começar criando a nossa pasta chamada Feedback dentro de screens, com os arquivos index e styled.

  2. Nós vamos após ter feito isso criar o container da nossa tela

    import styled from "styled-components/native";
    import Constants from "expo-constants";
    
    const statusBarHeight = Constants.statusBarHeight;
    
    export const Container = styled.View`
      flex: 1;
      background-color: ${({ theme }) => theme.colors.backgroundLight};
      padding-top: ${statusBarHeight}px;
    `;
    
  3. Após ter feito isso nós vamos utilizar lá no index. Vamos fazer a mesma coisa, como não terá scroll, a gente vai já usar o navbar.

  4. Vamos também utilizar o ProfileInfo, já que ele também por enquanto vai ser fixo.

    return (
      <Container>
        <DefaultTitle title="AVALIAR" fontSize={20} />
        <ProfileInfo />
        <NavBar />
      </Container>
    );
    
  5. Agora nós vamos criar a nossa rota

    export type PropsNavigationStack = {
      // ... Outros códigos
      Feedback: undefined;
    };
    
    // ... Outros códigos
    
    const Routes = () => {
      return (
        <NavigationContainer>
          <Stack.Navigator
            screenOptions={{
              headerShown: false,
            }}
          >
            {/* Outros códigos */}
            <Stack.Screen name="Feedback" component={Feedback} />
          </Stack.Navigator>
        </NavigationContainer>
      );
    };
    
  6. Após a rota ter sido criada, nós vamos linkar os locais onde podemos avaliar, nós vamos primeiro na tela de product (no componente de SellerInfo), para colocar envolta das estrelas

    return (
      <Container>
        <SellerContainer>
          <Name>Lucas Queiroga</Name>
          <Button
            onPress={() => {
              navigation.navigate("Feedback");
            }}
          >
            <AirbnbRating
              selectedColor="#5F96ED"
              showRating={false}
              isDisabled={true}
              size={16}
              defaultRating={Rate}
              starContainerStyle={{
                marginLeft: -20,
              }}
            />
          </Button>
        </SellerContainer>
        <SeeProfile
          onPress={() => {
            handleNavSellerProfile();
          }}
        >
          Ver Perfil
        </SeeProfile>
      </Container>
    );
    
  7. Agora colocaremos isso também em profile info, para que as pessoas possam avaliar o vendedor ao clicar no texto que ele não tem avaliação ou nas estrelas caso já tenha.

  8. Vamos criar o estilo do button

    export const Button = styled.TouchableOpacity``;
    
  9. E em seguida vamos utilizar isso no index

    const ProfileInfo = () => {
      const navigation = useNavigation<PropsStack>();
    
      const Rate = 4;
    
      return (
        <>
          <Container>
            <PrincipalInfoContainer>
              <NamePhoneContainer>
                <Name>Lucas Queiroga</Name>
                <Phone>(81) 99999-9999</Phone>
              </NamePhoneContainer>
              {!Rate ? (
                <DefaultText
                  onPress={() => {
                    navigation.navigate("Feedback");
                  }}
                >
                  Sem Avaliações
                </DefaultText>
              ) : (
                <Button
                  onPress={() => {
                    navigation.navigate("Feedback");
                  }}
                >
                  <AirbnbRating
                    selectedColor="#5F96ED"
                    showRating={false}
                    isDisabled={true}
                    size={16}
                    defaultRating={Rate}
                    starContainerStyle={{
                      paddingTop: 4,
                    }}
                  />
                </Button>
              )}
            </PrincipalInfoContainer>
            <DefaultText>Usuário desde 20/04/23</DefaultText>
            <DefaultText>04 anúncios ativos</DefaultText>
          </Container>
          <Hr />
        </>
      );
    };
    
  10. Agora podemos acessar de todas essas telas