Quero remover meu usuário da página “sobre” de alguns sites que gerencio. Não sou eu quem vai excluir sua conta, nem nada do tipo. . .
Uma maneira é esta:
Mas um plugin parece um pouco exagerado hoje em dia, então tenho um componente de tema que faz isso:
import { withPluginApi } from "discourse/lib/plugin-api";
const hidden_admins = settings.hidden_admins.split("|");
const PLUGIN_ID = "hide-admins";
export default {
name: "theme-javascript-initializer",
initialize() {
withPluginApi("0.8.30", (api) => {
api.onPageChange((url) => {
if (url != "/about") {
return;
}
for (const admin of hidden_admins) {
var element = document.querySelector(`[data-username=${admin}]`);
if (element === null) {
break;
}
element.classList.add("hide-me");
}
});
});
},
};
Isso é estúpido por algum motivo? O onPageChange consome muitos recursos? O plugin afetaria apenas o serializador “sobre”, este faz uma verificação a cada mudança de página. Isso é ruim?
Houve um tópico sobre essa mesma questão recentemente que apenas codificou o usuário no CSS. Seria melhor ter apenas um CSS em um tema que fizesse apenas:
É em grande parte o que eu pensava, mas aprecio muito sua confirmação. Vou ver como deixar isso mais bonito e torná-lo público, e então escrever ferramentas para automatizar a adição a alguns sites.