import Controller from "@ember/controller"; import { or } from "@ember/object/computed"; import discourseComputed from "discourse-common/utils/decorators"; const reasons = { noWizard: "none", requiresLogin: "requires_login", notPermitted: "not_permitted", completed: "completed", }; export default Controller.extend({ noAccess: or("noWizard", "requiresLogin", "notPermitted", "completed"), @discourseComputed("noAccessReason") noAccessI18nKey(reason) { return reason ? `wizard.${reasons[reason]}` : "wizard.none"; }, @discourseComputed noAccessReason() { return Object.keys(reasons).find((reason) => this.get(reason)); }, });