diff --git a/app/assets/javascripts/discourse/app/components/header.gjs b/app/assets/javascripts/discourse/app/components/header.gjs index f7bb6c79526..a949cb50220 100644 --- a/app/assets/javascripts/discourse/app/components/header.gjs +++ b/app/assets/javascripts/discourse/app/components/header.gjs @@ -3,6 +3,7 @@ import { tracked } from "@glimmer/tracking"; import { getOwner } from "@ember/application"; import { hash } from "@ember/helper"; import { action } from "@ember/object"; +import { schedule } from "@ember/runloop"; import { service } from "@ember/service"; import { modifier as modifierFn } from "ember-modifier"; import { and, eq, not, or } from "truth-helpers"; @@ -109,15 +110,17 @@ export default class GlimmerHeader extends Component { @action closeCurrentMenu() { - if (this.search.visible) { - this.toggleSearchMenu(); - } else if (this.header.userVisible) { - this.toggleUserMenu(); - document.getElementById(USER_BUTTON_ID)?.focus(); - } else if (this.header.hamburgerVisible) { - this.toggleHamburger(); - document.getElementById(HAMBURGER_BUTTON_ID)?.focus(); - } + schedule("afterRender", () => { + if (this.search.visible) { + this.toggleSearchMenu(); + } else if (this.header.userVisible) { + this.toggleUserMenu(); + document.getElementById(USER_BUTTON_ID)?.focus(); + } else if (this.header.hamburgerVisible) { + this.toggleHamburger(); + document.getElementById(HAMBURGER_BUTTON_ID)?.focus(); + } + }); } @action