1. Nós vamos começar estruturando toda a tela. Começaremos criando dentro de “screens” uma pasta chamada “SellerProfile”, junto com os arquivos (index e styled)

  2. Agora nós vamos começar criando o container que vamos ter na tela

    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 + 20}px;
    `;
    
  3. Agora, nós vamos estruturar ela com o nosso título padrão lá no index.

    import React from "react";
    import { Container } from "./styled";
    
    import DefaultTitle from "../../components/common/DefaultTitle";
    
    const SellerProfile = () => {
      return (
        <Container>
          <DefaultTitle />
        </Container>
      );
    };
    
    export default SellerProfile;
    
  4. Com ele sendo usado, nós vamos agora colocar as informações da tela

    import React from "react";
    import { Container } from "./styled";
    
    import DefaultTitle from "../../components/common/DefaultTitle";
    
    const SellerProfile = () => {
      return (
        <Container>
          <DefaultTitle title="PERFIL DO VENDEDOR" fontSize={20} />
        </Container>
      );
    };
    
    export default SellerProfile;
    
  5. Nós vamos agora puxar o “ProfileInfo”, para exibir as informações do vendedor aqui para o usuário.

    import React from "react";
    import { Container } from "./styled";
    
    import DefaultTitle from "../../components/common/DefaultTitle";
    import ProfileInfo from "../../components/common/ProfileInfo";
    
    const SellerProfile = () => {
      return (
        <Container>
          <DefaultTitle title="PERFIL DO VENDEDOR" fontSize={20} />
          <ProfileInfo />
        </Container>
      );
    };
    
    export default SellerProfile;
    
  6. Para poder visualizar, vamos criar a rota dele, que terá apenas o undefined.

    export type PropsNavigationStack = {
      Home: undefined;
      Login: undefined;
      Register: undefined;
      Search: {
        query: string;
      };
      UserProfile: undefined;
      SellerProfile: undefined;
    };
    
    const Stack = createNativeStackNavigator<PropsNavigationStack>();
    
    export type PropsStack = NativeStackNavigationProp<PropsNavigationStack>;
    
    const Routes = () => {
      return (
        <NavigationContainer>
          <Stack.Navigator
            screenOptions={{
              headerShown: false,
            }}
          >
            <Stack.Screen name="Home" component={Home} />
            <Stack.Screen name="Search" component={Search} />
            <Stack.Screen name="Login" component={Login} />
            <Stack.Screen name="Register" component={Register} />
            <Stack.Screen name="UserProfile" component={UserProfile} />
            <Stack.Screen name="SellerProfile" component={SellerProfile} />
          </Stack.Navigator>
        </NavigationContainer>
      );
    };
    
    export default Routes;
    
  7. Nós temos a rota dele, nós vamos conseguir acessar apenas pela tela do produto e pelo chat, então para poder visualizar ele agora, a gente pode de forma temporária colocar ele como primeira tela do app.

    const Routes = () => {
      return (
        <NavigationContainer>
          <Stack.Navigator
            screenOptions={{
              headerShown: false,
            }}
          >
            <Stack.Screen name="SellerProfile" component={SellerProfile} />
            <Stack.Screen name="Home" component={Home} />
            <Stack.Screen name="Search" component={Search} />
            <Stack.Screen name="Login" component={Login} />
            <Stack.Screen name="Register" component={Register} />
            <Stack.Screen name="UserProfile" component={UserProfile} />
          </Stack.Navigator>
        </NavigationContainer>
      );
    };
    
    export default Routes;
    
  8. Podemos ver então que o nosso perfil do vendedor está OK, pegando forma.