Навыки создания тем и блоков

Я только начинаю экспериментировать с этим (без агентного кодинга).

У меня сложилось впечатление, что не потребуется много усилий, чтобы превратить это в компонент темы, который контролирует только главную страницу сайта — например, уже использующего тему Horizon. Это было бы глупо?

Кроме того, я заметил пару проблем:

Блок «Предстоящие события» не сортирует темы

Он просто выгружает темы событий по дате создания; это совершенно бесполезно!!

На ask.discourse.com предлагается такой тип изменения для исправления этой ситуации, и я могу подтвердить, что это работает (простите за отсутствие критического человеческого мышления):

@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();

  // Разделяем прошлые и будущие события, затем сортируем по возрастанию даты начала
  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);
}

Блок «Баннеры категорий» не учитывает настройки

Он отображается во всех категориях (а не только в указанных), и, похоже, не обновляется при навигации (только при перезагрузке страницы).