Acabo de empezar a trastear con esto (sin programación agentiva).
Tengo la impresión de que no costaría mucho convertir esto en un componente de tema que controle solo la página de inicio de un sitio, por ejemplo, uno que ya utilice el tema Horizon. ¿Estaría siendo estúpido?
Además, he notado un par de problemas:
El bloque de Próximos Eventos no ordena los temas
Simplemente volca los temas de eventos por fecha de creación; ¡esto es de lo más poco útil!
ask.discourse.com sugiere este tipo de cambio para solucionarlo, lo cual puedo confirmar que funciona (perdonad mi falta de pensamiento crítico humano):
@bind
async fetchEvents() {
const count = this.args.count || 5;
const results = await ajax("discourse-post-event/events");
if (!results.events?.length) {
return null;
}
const now = new Date();
// Separar eventos pasados y futuros, y luego ordenar ascendente por fecha de inicio
const upcoming = results.events
.filter((e) => new Date(e.starts_at) >= now)
.sort((a, b) => new Date(a.starts_at) - new Date(b.starts_at));
return upcoming.slice(0, count);
}
El bloque de Banners de Categoría no respeta la configuración
Se muestra en todas las categorías (no solo en las especificadas) y no parece actualizarse al navegar (solo al refrescar la página).