No hay ninguna clase CSS específica en la lista de temas. ¿Es posible mediante la edición de la plantilla de la lista de temas?
Si solo deseas agregar una clase al componente de elemento de la lista de temas, puedes hacerlo sin modificar la plantilla. Puedes usar algo como esto.
const discourseComputed = require("discourse-common/utils/decorators").default;
api.modifyClass("component:topic-list-item", {
pluginId: "add-views-class",
@discourseComputed()
unboundClassNames() {
// registra las propiedades del tema para ver con qué tienes que trabajar
console.log(this.topic);
// hereda las clases predeterminadas del núcleo y de los complementos
let classList = this._super(...arguments);
// agrega tus nuevas clases basadas en una propiedad
if (this.topic.views > 100) {
classList += " has-many-views";
}
// devuelve la classList modificada
return classList;
}
});
Luego, un poco de CSS
.has-many-views {
background: red;
}
Desafortunadamente, wiki es una propiedad a nivel de publicación, no a nivel de tema. Por lo tanto, no se agrega al modelo del elemento de la lista de temas. Puedes usar una etiqueta o crear una solicitud de función para que Discourse agregue esa clase.