如何在特定类别的顶部导航中添加主题?

Discourse.NavItem 弃用后,这段代码似乎不再有效。有人在帖子中提到,自定义顶部导航链接 可以解决这个问题:

然而,该组件无法根据当前位置动态生成链接。对于我的使用场景,我希望为主页和子类别设置不同的链接,例如根据当前分类显示“未完成/已完成”标签筛选导航项。我过去可以使用以下代码,但现在已无法正常工作:

<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 : "";
      // 主菜单和两个特定类别将拥有这两个具有不同 URL 的导航项
      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>

有人能帮我根据当前的 navigation-item 组件更新这段代码吗?或者,更一般地说,我该如何找到 Discourse.NavItem 的替代方案及其当前用法?

谢谢!