FIX: Double trigger of close user menu (#30732)
When clicking the "new features" notification item for admins that navigates to /whats-new, the user notification menu was not closing. This was happening because inside the UserMenu::Menu component, the `routeDidChange` event was firing and calling `closeUserMenu()`, however this is already called inside the `Header` component via `toggleHamburger()`. This is _only_ happening for the "new features" notification item, other items have already been destroyed and they do not get the `routeDidChange` event. No idea why, but this fixes the issue in a global way.
This commit is contained in:
parent
73b28815e3
commit
5bc522e836
|
@ -205,8 +205,8 @@ export default class GlimmerHeader extends Component {
|
|||
}
|
||||
|
||||
@action
|
||||
toggleUserMenu() {
|
||||
this.header.userVisible = !this.header.userVisible;
|
||||
toggleUserMenu(value) {
|
||||
this.header.userVisible = value ?? !this.header.userVisible;
|
||||
this.toggleBodyScrolling(this.header.userVisible);
|
||||
this.args.animateMenu();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Component from "@glimmer/component";
|
||||
import { hash } from "@ember/helper";
|
||||
import { fn, hash } from "@ember/helper";
|
||||
import { action } from "@ember/object";
|
||||
import { isTesting } from "discourse/lib/environment";
|
||||
import discourseLater from "discourse/lib/later";
|
||||
|
@ -53,7 +53,7 @@ export default class UserMenuWrapper extends Component {
|
|||
}}
|
||||
...attributes
|
||||
>
|
||||
<UserMenu @closeUserMenu={{@toggleUserMenu}} />
|
||||
<UserMenu @closeUserMenu={{fn @toggleUserMenu false}} />
|
||||
</div>
|
||||
</template>
|
||||
}
|
||||
|
|
|
@ -2941,7 +2941,7 @@ en:
|
|||
membership_request_consolidated: "new membership requests"
|
||||
reaction: "new reaction"
|
||||
votes_released: "Vote was released"
|
||||
new_features: "new Discourse features have been released!"
|
||||
new_features: "New Discourse features have been released!"
|
||||
admin_problems: "new advice on your site dashboard"
|
||||
|
||||
upload_selector:
|
||||
|
|
|
@ -73,6 +73,9 @@ RSpec.describe "Bookmark message", type: :system do
|
|||
|
||||
expect(channel_page).to have_bookmarked_message(message_1)
|
||||
|
||||
user_menu.open
|
||||
user_menu.click_bookmarks_tab
|
||||
|
||||
user_menu.click_bookmark(bookmark_2)
|
||||
|
||||
expect(channel_page).to have_bookmarked_message(message_2)
|
||||
|
|
Loading…
Reference in New Issue