Intentando mostrar temas en un elemento de menú personalizado

Para aprender y aplicar diferentes conceptos de discurso, estoy creando un plugin que mostrará todos los temas populares. Aún no he decidido los criterios para definir qué es un tema popular, pero estos son los problemas que estoy enfrentando.

También he compartido mi proceso de pensamiento junto con cada problema, y me gustaría una solución basada en el proceso de pensamiento en lugar de una solución directa, lo que me ayudaría a pensar con claridad y de manera general para resolver muchos otros problemas.

He creado un nuevo elemento de menú utilizando api.addNavigationBarItem.
También he creado una ruta personalizada llamada /hot-topics tanto en el frontend como en el backend.
Por ahora, estoy mostrando un simple encabezado h3 en la ruta /hot-topics.

  1. Mi primera tarea es que, al hacer clic en el elemento de navegación, la barra de navegación siga siendo visible y la pestaña “Temas populares” quede resaltada.
    Creo que esto será posible con el componente {{navigation-bar}}, pero pienso que necesito devolver los elementos de navegación en el método model del objeto de ruta para que se pasen a la plantilla.
    Devolví un array codificado manualmente desde el método model, pero sin éxito.

  2. Mi segunda tarea es obtener los llamados temas populares y mostrarlos en la pestaña “Temas populares”.
    Para ello, estoy utilizando el componente {{categories-topic-list}}. Tengo dificultades para entender cómo debo pasar los datos a este componente para mostrar los temas necesarios.

Por favor, sugiere algunas ideas sobre cómo proceder. Además, ¿cuál sería tu proceso de pensamiento al intentar resolver este problema?

¡Gracias por intentar aprender Discourse!

Entiendo que es una experiencia de aprendizaje, pero tengo una pregunta desde el principio: ¿cuál es la diferencia entre “Hot” y visitar /top para ver lo que consideramos los temas más destacados? Puedes filtrarlo por semana o incluso por día si lo prefieres. Eso debería ser nuestro “Hot”.

Quizás quieras considerar agregar tu ruta como parte de las rutas discovery., como hacemos para latest, new, top, etc. Esas rutas ya renderizan la barra de navegación por ti. Te sugiero revisar el código de Discourse para ver cómo se crean las otras rutas. Tendrán ejemplos sobre cómo obtener datos para sus listas de temas.

Después de un tiempo trabajando en este ejercicio, me di cuenta de que necesito reutilizar lo que ya tengo en lugar de volver a crearlo. Seguí este curso para comprender mejor los conceptos de Ember.

Con eso y la idea que compartiste sobre las rutas discovery., voy a sumergirme en el código de Discourse para ver si puedo entender claramente cómo Discourse obtiene los datos para esas rutas y los pasa al componente.

Muchas gracias por tu tiempo, @eviltrout.