Pular para o conteúdo

CommentQueue

CommentQueue lista os comentários de um blog para moderação. Cada comentário mostra o autor, o post, a data, o texto e o estado. As ações ficam sob o comentário, e a moderadora pode marcar vários de uma vez e aplicar uma ação em massa.

Use quando a tela precisar de uma fila de moderação de comentários. O texto do comentário é sempre escapado: nunca entra como HTML (ui/panel/comment-queue.ts:22). As ações chegam como funções que devolvem o endereço do formulário de cada comentário (actions), então a tela decide as rotas.

Regras de exibição:

  • Os estados são «Pendente», «Aprovado» e «Spam» (ui/panel/comment-queue.ts:51 a :54).
  • Em um comentário marcado como spam, o botão de aprovar diz «Não é spam» (ui/panel/comment-queue.ts:97).
  • «Excluir» aparece em vermelho, por último (ui/panel/comment-queue.ts:103).
  • «Bloquear» só aparece se a tela passar block, e vale para o autor do comentário (ui/panel/comment-queue.ts:100).
  • «Responder» abre um formulário dentro do comentário. Se o servidor recusar a resposta, o formulário volta aberto com o texto e o erro (ui/panel/comment-queue.ts:28 e :89).
  • Com bulk, cada comentário ganha uma caixa de seleção, e um formulário acima da lista aplica a ação escolhida a todos os marcados. O formulário tem o rótulo «Aplicar aos comentários marcados» e a opção inicial «Escolha uma ação».
  • Sem comentários, a fila mostra «Nenhum comentário para moderar.» (ui/panel/comment-queue.ts:143).

A tela se chama «Moderação de comentários» no título registrado (/painel/comentarios/moderacao, modules/comentarios/screens/moderation.ts:119); o item do menu e o nome do módulo são «Comentários» (modules/comentarios/module.ts:18), e a captura da galeria usa esse nome no h1 (ui/panel/comment-queue.gallery.ts:84). A fila é montada em modules/comentarios/screens/moderation.ts:102. As opções da ação em massa são «Aprovar» e «Marcar como spam» (modules/comentarios/screens/moderation.ts:97 e :98). A opção «Excluir» só entra se a pessoa tiver a permissão de excluir (modules/comentarios/screens/moderation.ts:99), e «Bloquear» só entra com a permissão de bloquear (modules/comentarios/screens/moderation.ts:112). Excluir um comentário passa por ConfirmDialog (modules/comentarios/screens/moderation.ts:158).

CommentQueue

Pasta: ui/panel

Variantes

IdVarianteTom
comment-queue-light queue light

Propriedades

PropriedadeTipoObrigatóriaDescrição
items readonly CommentQueueItem[] Sim —
actions Readonly<Record<CommentAction, (id: string) => string>> Sim Target of each action's POST form, by comment id.
csrf string Sim —
block (id: string) => string Não Target of the optional «Bloquear» (author) POST form, by comment id.
bulk CommentBulk Não A checkbox per comment and the bulk form above the list.
pagination Pagination Não The shared pager under the list (nothing with fewer than two pages).

A primeira variante do catálogo, a fila de comentários, em 1280 px:

CommentQueue, a fila de comentários, em 1280 px

A mesma variante em 360 px:

CommentQueue, a fila de comentários, em 360 px

  • ui/panel/comment-queue.ts: CommentQueue, CommentQueueItem e CommentBulk.
  • ui/panel/comment-queue.gallery.ts: as variantes do catálogo.
  • modules/comentarios/screens/moderation.ts: a tela Moderação de comentários.