Recentemente, houve uma grande discussão em um fórum que administro sobre se os Likes deveriam ser removidos ou não. Metade quer que desapareçam, a outra metade quer que permaneçam. Encontrei o componente de tema que oculta a capacidade de curtir uma postagem para usuários TL0 e anônimos, e adaptei-o em grande parte para o nosso uso. No entanto, não tenho certeza de como conectá-lo a um campo booleano de usuário que criei (“toggle likes”). No componente de tema original, algo como “settings.hide_for_anon_user” é usado, criando uma configuração de tema no settings.yml chamada “hide_for_anon_user”, mas isso só pode ser alterado por um administrador e não no nível do usuário.
Como eu faria para referenciar o campo personalizado para isso? Já o adicionei a public_user_custom_fields, mas não sei como referenciá-lo no arquivo JS do componente. Tentei userCustomFields.user_field_10, settings.current_user.custom_fields.user_field_10 e current_user.custom_fields.user_field_10, mas nenhum deles funcionou; eles apenas ocultaram todas as postagens em um tópico.
Acho que você pode criar um grupo sem curtidas e usá-lo para ocultar as curtidas, assim como o tl0 faz. Configure o grupo para que qualquer pessoa possa entrar.
Eu substituí
this.currentUser.trust_level === 0;
por
this.currentUser.no_likes;
mas não funcionou. Novamente, não tenho certeza de como referenciar grupos personalizados; assim como os campos de usuário, não parece estar claramente indicado em nenhuma documentação.
Mas eu ainda gostaria de ver se há uma maneira de fazer isso verificando o campo booleano do usuário personalizado em vez de fazer as pessoas se juntarem a um grupo. Tenho procurado em outros plugins para ter uma ideia de como fazer isso, mas tudo o que tentei até agora não funcionou.
ETA: Isso parece funcionar, mas você precisa atualizar a página após marcar ou desmarcar o booleano do campo de usuário.
Aparentemente, isso está ocultando posts quando as pessoas estão deslogadas. Não tenho certeza de como modificar o código – alguém tem alguma sugestão?