filipedeschamps / tabnews.com.br

Conteúdos para quem trabalha com Programação e Tecnologia.
https://tabnews.com.br
GNU General Public License v3.0
5.29k stars 388 forks source link

Forçar usuário a comentar quando tentar negativar post #1774

Closed HarukaYamamoto0 closed 3 months ago

HarukaYamamoto0 commented 3 months ago

Descrição

Recentemente vi alguns posts sendo negativado sem motivos grandes aparente, abria o post para ver os comentários mas nada, as pessoas negativa sem explicar o porquê, ai pensei nisso de quando o usuário for tentar negativar um post ele seja forçado a comentar o porquê

Poderia até ter um textinho como: Por favor deixe seu feedback para que o autor possa saber em que melhorar ou algo do tipo

Sugestão de implementação

Poderia até ser um modal parecido com o que aparece quando o corpo da mensagem é muito pequeno, não sou muito familiarizado com next e react, mais vi que as transações acontecem no componente TabCoinButtons, acredito que daria para fazer algo como buscar nos comentários do post se o usuário já comentou, se sim deixava ele negativar caso contrário mostrava o modal para ele pedido para dá feedback

async function transactTabCoin(transactionType) {
  setIsPosting(true);

  if (!user && !isLoading) {
    router.push(`/login?redirect = $ {
      router.asPath
    }`);
    return;
  }

  // não sei o jeito de fazer isso mais tá ai
  if (transactionType === "debit") {
    const comments = await fetch(
      "https://www.tabnews.com.br/api/v1/contents/" + 
      `${content.owner_username}/${content.slug}/children`
    )
    const commented = comments
      .map(comment => comment.owner_username)
      .includes(user.username)

    if (!commented) {
      return confirm({
        title: 'Deixe seu feedback',
        content: ( < Flash variant = "warning" >
          ⚠ Atenção: Por favor deixe seu feedback para que o autor possa saber em que melhorar < /Flash >
        ),
        cancelButtonContent: 'Cancelar',
        confirmButtonContent: 'Comentar'
      })
    }
  }
....

Apenas um rascunho de código, mas é mais ou menos isso que quero dizer

HarukaYamamoto0 commented 3 months ago

vim a perceber agora que existe a issue #1651, que é parecida com essa, mas estranho porque eu pesquisei antes para ver se tinha alguma relacionada e não havia aparecido antes, mas talvez o pedaço de código acima venha a calhar para algo

Rafatcb commented 3 months ago

@HarukaYamamoto0 Obrigado pela sugestão! Como você disse, é uma issue duplicada, então vou fechar esta. Se desejar, pode comentar para complementar algo na outra issue (#1651), assim mantemos as sugestões e discussões num único lugar 👍