mirror of
https://github.com/discourse/discourse.git
synced 2025-02-24 19:19:56 +08:00
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
|
@action
|
||||||
toggleUserMenu() {
|
toggleUserMenu(value) {
|
||||||
this.header.userVisible = !this.header.userVisible;
|
this.header.userVisible = value ?? !this.header.userVisible;
|
||||||
this.toggleBodyScrolling(this.header.userVisible);
|
this.toggleBodyScrolling(this.header.userVisible);
|
||||||
this.args.animateMenu();
|
this.args.animateMenu();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import Component from "@glimmer/component";
|
import Component from "@glimmer/component";
|
||||||
import { hash } from "@ember/helper";
|
import { fn, hash } from "@ember/helper";
|
||||||
import { action } from "@ember/object";
|
import { action } from "@ember/object";
|
||||||
import { isTesting } from "discourse/lib/environment";
|
import { isTesting } from "discourse/lib/environment";
|
||||||
import discourseLater from "discourse/lib/later";
|
import discourseLater from "discourse/lib/later";
|
||||||
@ -53,7 +53,7 @@ export default class UserMenuWrapper extends Component {
|
|||||||
}}
|
}}
|
||||||
...attributes
|
...attributes
|
||||||
>
|
>
|
||||||
<UserMenu @closeUserMenu={{@toggleUserMenu}} />
|
<UserMenu @closeUserMenu={{fn @toggleUserMenu false}} />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
}
|
}
|
||||||
|
@ -2941,7 +2941,7 @@ en:
|
|||||||
membership_request_consolidated: "new membership requests"
|
membership_request_consolidated: "new membership requests"
|
||||||
reaction: "new reaction"
|
reaction: "new reaction"
|
||||||
votes_released: "Vote was released"
|
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"
|
admin_problems: "new advice on your site dashboard"
|
||||||
|
|
||||||
upload_selector:
|
upload_selector:
|
||||||
|
@ -73,6 +73,9 @@ RSpec.describe "Bookmark message", type: :system do
|
|||||||
|
|
||||||
expect(channel_page).to have_bookmarked_message(message_1)
|
expect(channel_page).to have_bookmarked_message(message_1)
|
||||||
|
|
||||||
|
user_menu.open
|
||||||
|
user_menu.click_bookmarks_tab
|
||||||
|
|
||||||
user_menu.click_bookmark(bookmark_2)
|
user_menu.click_bookmark(bookmark_2)
|
||||||
|
|
||||||
expect(channel_page).to have_bookmarked_message(message_2)
|
expect(channel_page).to have_bookmarked_message(message_2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user