Tentando exibir tópicos em item de menu personalizado

Para aprender e aplicar diferentes conceitos de discurso, estou criando um plugin que exibirá todos os Tópicos Quentes. Ainda não decidi os critérios para definir o que é um tópico quente, mas estes são os problemas que estou enfrentando.

Também descrevi meu processo de raciocínio junto com cada problema e gostaria de uma solução baseada no processo de raciocínio, em vez da solução prática em si, pois isso me ajudaria a pensar de forma clara e geral para resolver muitos outros problemas.

Criei um novo item de menu usando api.addNavigationBarItem.
Também criei uma rota personalizada chamada /hot-topics no frontend e no backend.
No momento, estou exibindo um simples título h3 na rota /hot-topics.

  1. Minha primeira tarefa é que, ao clicar no item de navegação, a barra de navegação permaneça visível e a aba Hot Topics fique destacada.
    Acho que isso será possível com o componente {{navigation-bar}}, mas acredito que preciso retornar os itens de navegação no método model do objeto da rota, para que eles sejam passados ao template.
    Retornei um array fixo no método model, mas sem sucesso.

  2. Minha segunda tarefa é buscar os chamados Tópicos Quentes e exibi-los na aba Hot Topics.
    Para isso, estou usando o componente {{categories-topic-list}}. Estou com dificuldade em descobrir como devo passar os dados para este componente, a fim de exibir os tópicos necessários.

Por favor, sugira algumas ideias sobre como prosseguir. Além disso, qual seria o seu processo de raciocínio ao tentar resolver esse problema?

Obrigado por tentar aprender o Discourse!

Entendo que é uma experiência de aprendizado, mas tenho uma pergunta logo de cara: qual é a diferença entre “Hot” e visitar /top para ver o que consideramos como “top”? Você pode filtrar por semana ou até mesmo por dia, se quiser. Isso é suposto ser o nosso “Hot”.

Você pode considerar adicionar sua rota como parte das rotas discovery., como fazemos para latest, new, top, etc. Essas rotas já renderizarão a barra de navegação para você. Sugerimos examinar o código do Discourse para ver como as outras rotas são criadas. Eles terão exemplos de como buscar dados para suas listas de tópicos.

Percebi, após um tempo trabalhando nesse exercício, que preciso reutilizar as coisas em vez de recriá-las. Fiz o curso este para obter uma compreensão mais profunda dos conceitos do Ember.

Com isso e com a ideia que você compartilhou sobre as rotas discovery., vou mergulhar no código do Discourse para ver se consigo entender claramente como ele busca os dados para essas rotas e os passa para o componente.

Muito obrigado pelo seu tempo, @eviltrout.