Как изменить стартовую страницу после входа, до загрузки первой страницы

У меня есть компонент темы для посадочной страницы по адресу https://ejopa.discourse.group/

Он работает отлично. Мне нужно, чтобы он не отображался для авторизованных пользователей. У меня есть этот код, который устанавливает домашнюю страницу в инициализаторе:

export default apiInitializer((api) => {
  const siteSettings = api.container.lookup("service:site-settings");
  const topMenu = siteSettings.top_menu || ""; // защита от undefined
  const globalDefaultHomepage = topMenu.split("|")[0].trim();
  const currentUser = api.getCurrentUser();

  if (currentUser && defaultHomepage() === "custom") {
    setDefaultHomepage(globalDefaultHomepage);
  }
  api.renderInOutlet("custom-homepage", LandingPage);

});

Он работает просто отлично, ЗА ИСКЛЮЧЕНИЕМ первого входа в систему. Пользователя перенаправляет на /custom — если они нажмут на иконку, они попадут в нужное место, но не при первой загрузке.

Мне нужно сделать что-то вроде перенаправления их на правильную домашнюю страницу при входе в систему.

ИИ предложил что-то вроде этого, но это, похоже, не работает:

      api.onAppEvent('application:after-login', afterLoginHandler);

РЕДАКТИРОВАНИЕ! Почти готово, но после входа в систему отображается посадочная страница

import { apiInitializer } from "discourse/lib/api";
import { defaultHomepage, setDefaultHomepage } from "discourse/lib/utilities";
import LandingPage from "../components/landing-page";

export default apiInitializer((api) => {
  const siteSettings = api.container.lookup("service:site-settings");
  const topMenu = siteSettings.top_menu || ""; // защита от undefined
  const globalDefaultHomepage = topMenu.split("|")[0].trim();
  const currentUser = api.getCurrentUser();

  api.onPageChange((url) => {
    const isCustom = url === "/custom";
    const router = api.container.lookup("service:router");
    const currentUser = api.container.lookup("service:current-user");
    if (currentUser && isCustom) {
      router.transitionTo("discovery." + defaultHomepage());
    }
  });

  if (currentUser && defaultHomepage() === "custom") {
    setDefaultHomepage(globalDefaultHomepage);
  }
  api.renderInOutlet("custom-homepage", LandingPage);
});

Боюсь, это всё, на что я способен. Я ошибаюсь?

Интересно, не связано ли это с настройкой redirect_users_to_top_page, поскольку она также перенаправляет пользователя при первом посещении. Но так как вы в итоге попадаете на /custom, а не на /top, скорее всего, дело не в этом.

Я пытался это найти, но не мог вспомнить, как это называется!

Верно.

Также есть «Автоматически перенаправлять новых и давно отсутствовавших пользователей», а мы ни новые, ни давно отсутствовавшие…

Огромное спасибо!