Esto parece dejar de funcionar tras la deprecación de Discourse.NavItem, y alguien mencionó en este post que Enlaces personalizados de navegación superior pueden resolver el problema:
Sin embargo, este componente no genera enlaces dinámicos según la ubicación actual para verificar la URL del enlace.
Para mi caso de uso, quiero establecer un enlace diferente para la página principal y las subcategorías, por ejemplo, mostrar un elemento de navegación con filtro de etiquetas incompleto/completado según las categorías actuales. Anteriormente podía usar el siguiente código, pero ahora no funciona:
<script>
Discourse.ExternalNavItem = Discourse.NavItem.extend({
href : function() {
return this.get('href');
}.property('href')
});
I18n.translations.en.js.filters.unfinished = { title: "tbc", help: "placeholder" };
I18n.translations.en.js.filters.finished = { title: "finished", help: "placeholder" };
Discourse.NavItem.reopenClass({
buildList : function(category, args) {
var list = this._super(category, args);
var url = category ? category.url : "";
// El menú principal y 2 categorías específicas tendrán esos 2 elementos de navegación con URL diferentes
if(!category || (category && url && (url.includes("mix") || url.includes("other")))) {
var tbc_url = category ? "/tags" + url + "/tbc" : "/tags/tbc";
var finish_url = category ? "/tags" + url + "/finished" : "/tags/finished";
list.push(Discourse.ExternalNavItem.create({href: tbc_url, name: 'tbc'}));
list.push(Discourse.ExternalNavItem.create({href: finish_url, name: 'finish'}));
}
return list;
}
});
</script>
¿Alguien puede ayudarme a actualizar este código basándose en el componente navigation-item actual? O, como pregunta más general, ¿cómo puedo encontrar el uso actual del reemplazo de Discourse.NavItem?
¡Gracias!