Titel des Themas im benutzerdefinierten Heldenbanner anzeigen

Ich verwende Router und Discovery, um einen dynamischen Helden zu erstellen, je nachdem, welche Seite angezeigt wird. Wenn ich jedoch zu einer einzelnen Themenseite gelange, kann ich keinen Weg finden, den Themenschlag an die Vorlage zu übergeben.

Gibt es hier eine Möglichkeit, den Themenschlag abzurufen?

import { inject as service } from "@ember/service";
import Component from "@glimmer/component";
import { defaultHomepage } from "discourse/lib/utilities";

export default class BcnHero extends Component {
  @service router;
  @service discovery;

  get showHero() {
    const { currentRouteName } = this.router;
    const { category } = this.discovery;

    let categoryName = "";
    let categoryDescription = "";
    if (category) {
      categoryName = category.name;
      categoryDescription = category.description;
    }

    if (currentRouteName === `discovery.${defaultHomepage()}`) {
      return { homepageHero: true };
    }

    if (currentRouteName === "discovery.category" || currentRouteName.startsWith("topic")) {
      return { dynamicHero: true, title: categoryName, subtitle: categoryDescription };
    }
    return { emptyHero: true };
  }
}
1 „Gefällt mir“