Ajuda para redirecionar usuário para conteúdo restrito

Continuando a discussão de Tópicos Restritos em Categoria:

Eu estava tentando modificar o componente restrito para redirecionar o usuário para uma página específica em vez de mostrar um portão.

1
Tentei DiscourseURL.routeTo('/t/table-builder-test-2/1667') no criador de temas, funciona, mas demora um pouco e gera erros ao carregar, embora a página seja carregada com sucesso.

2
Também tentei com setDefaultHomepage('/t/table-builder-test-2/1667'); e

      const container = Discourse.__container__;
      const router = container.lookup("router:main");

      let topicId = router.currentRoute.parent.params.id

      PreloadStore.remove(`topic/${topicId}`);

Ele só redireciona depois que a página restrita é carregada e, em seguida, clica no botão voltar.

3
location.href = '/t/table-builder-test-2/1667'

Funciona, mas as páginas restritas também carregam por alguns segundos, ao contrário de 1, que faz isso suavemente.

Qual é a melhor maneira de conseguir isso?

Meu Página Inicial Personalizada tema altera a página inicial. O truque é que algumas coisas são pré-carregadas e você tem que fazer algo para fazê-las desaparecer.

Espero que você consiga encontrar o exemplo no código, pois é a melhor maneira que posso explicar isso do meu telefone. :person_shrugging:

1 curtida

Tentei com

let topicId = router.currentRoute.parent.params.id
PreloadStore.remove(`topic/${topicId}`);

mas não funciona, temos alguma documentação sobre como o método PreloadStore.remove funciona?