Voglio rimuovere il mio utente dalla pagina “about” di alcuni siti che gestisco. Non sono io che cancellerò il tuo account, o altro. . .
Un modo è questo:
Ma un plugin sembra un po’ eccessivo di questi tempi, quindi ho un componente del tema che fa questo:
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");
}
});
});
},
};
È stupido per qualche motivo? Questo onPageChange costa molto? Il plugin interesserebbe solo il serializzatore “about”, questo fa un controllo ad ogni cambio di pagina. È un male?
C’è stato un argomento su questo stesso problema di recente che ha semplicemente codificato l’utente nel CSS. Sarebbe meglio avere solo un singolo CSS in un tema che facesse semplicemente:
È per lo più quello che pensavo, ma apprezzo molto la tua conferma. Vedrò di abbellire un po’ questa cosa e renderla pubblica, e poi scriverò degli strumenti per automatizzarne l’aggiunta ad alcuni siti.