1. Nós vamos começar colocando um parâmetro chamado de post, que será uma string. Pois dessa forma saberemos se é para postar o produto ou colocar como rascunho

    const handleSubmitProduct = async (post: string) => {
    
  2. Agora nós vamos colocar a verificação para saber se algum dos nossos campos está vazio. Se tiver, teremos um alert

    if (
      Object.values(fields).some((value) => !value) ||
      !fields.images.length
    ) {
      Alert.alert("Um dos seus campos não está preenchido");
    
      return;
    }
    
  3. Precisamos de uma verificação adicional para as imagens, e saber se ela também está vazia

  4. Iremos criar agora os parâmetros, enviando de forma separadas as imagens e o published

    const params = {
    	...fields,
      images: images.map(({ uri }) => ({
      filename: uri.substring(uri.lastIndexOf("/") + 1),
    	  uri,
        url: "",
        type: `image/${uri.split(".").slice(-1).toString()}`,
      })),
      published: post,
    };
    
  5. E nós vamos ver os status, que só existe o 201, que é o sucesso. E aí vamos redirecionar o usuário para a home

    const { status } = await productService.addProduct(params);
    
    if (status === 201) {
      Alert.alert("Seu produto foi cadastrado com sucesso!");
    
      navigation.navigate("Home");
    }
    
  6. Então podemos colocar nos botões as chamadas do handlesubmit

    <DefaultButton
    	buttonText="CADASTRAR E PUBLICAR"
      buttonHandle={() => {
    	  handleSubmitProduct("true");
      }}
      buttonType="primary"
      marginVertical={20}
    />
    
    <Division>ou</Division>
    
    <DefaultButton
    	buttonText="SALVAR COMO RASCUNHO"
      buttonHandle={() => {
    	  handleSubmitProduct("false");
      }}
      buttonType="secondary"
      marginVertical={20}
    />