1. Nós vamos criar dentro de “ChatHeader” uma pasta chamada “AdCard” com o index e o styled, e iremos criar o card onde o usuário pode ser levado para o produto da conversa

  2. Vamos começar criando alguns estilos aqui

    import styled from "styled-components/native";
    
    export const Container = styled.TouchableOpacity`
      width: 100%;
      margin: 0 auto;
      flex-direction: row;
    `;
    
    export const Image = styled.Image`
      width: 60px;
      height: auto;
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px;
    `;
    
    export const InfoContainer = styled.View`
      flex: 1;
      border: 1px solid ${({ theme }) => theme.colors.borderColor};
      padding: 10px;
      border-top-right-radius: 5px;
      border-bottom-right-radius: 5px;
    `;
    
  3. Vamos receber aqui via props as informações do produto

    const AdCard = ({ product }: any) => {
    
  4. Agora podemos colocar os estilos em prática

    return (
      <Container>
        <Image source={{ uri: product.images[0].url }} />
        <InfoContainer>
        </InfoContainer>
      </Container>
    );
    
  5. Vamos então colocar isso tudo lá em “ChatHeader”

    return (
      <Container>
        <Row>
          <BackArrow marginLeft={0} />
          <SellerName>{sellerName}</SellerName>
          <ModalButton onPress={handleToggleModal}>
            <ModalImage source={modalImg} />
          </ModalButton>
          <Modal animationType="fade" transparent={true} visible={modalVisible}>
            <ModalOverlay onPress={handleToggleModal} activeOpacity={1}>
              <ModalContainer>
                <ModalText onPress={handleSellerProfile}>Ver Perfil</ModalText>
                <ModalText>Deletar Conversa</ModalText>
                <ModalText onPress={handleFeedback}>Avaliar</ModalText>
                <ModalText onPress={handleDenounce}>Denunciar</ModalText>
              </ModalContainer>
            </ModalOverlay>
          </Modal>
        </Row>
        <AdCard product={product} />
      </Container>
    );
    
  6. Agora que nós criamos essa base podemos criar o restante dos estilos.

    export const Row = styled.Text`
      flex-direction: row;
    `;
    
    export const Title = styled.Text`
      font-size: 14px;
      font-weight: bold;
      color: ${({ theme }) => theme.colors.secondaryText};
    `;
    
    export const SubTitle = styled.Text`
      font-size: 14px;
      font-weight: bold;
      color: ${({ theme }) => theme.colors.secondaryText};
    `;
    
  7. Com esse restante criado, podemos então usar eles

    return (
      <Container>
        <Image source={{ uri: product.images[0].url }} />
        <InfoContainer>
          <Title numberOfLines={2}>{product.name}</Title>
          <SubTitle>R$ {product.price} - Ver Anúncio</SubTitle>
        </InfoContainer>
      </Container>
    );
    
  8. Agora a gente precisa apenas colocar a navegação para o produto solo, já que está tudo OK

    return (
      <Container
        onPress={() => {
          navigation.navigate("Product");
        }}
      >
        <Image source={{ uri: product.images[0].url }} />
        <InfoContainer>
          <Title numberOfLines={2}>{product.name}</Title>
          <SubTitle>R$ {product.price} - Ver Anúncio</SubTitle>
        </InfoContainer>
      </Container>
    );