Add callout announcement for top nav redesign
What does this MR do?
Decision The What's New
section of the navigation already mentions both the top and left navigation and will be updated shortly after the 14.0 release post goes live.
This MR resolves #323518 (closed) by adding a callout announcing the new top nav redesign. Here's the comment selecting the callout option since the broadcast message was not going to work out:
Since this menu shows up on every page, I opted to optimize when we should check for showing the callout. The callout needs at least 1 graphql / db request to check if we've dismissed this. If possible, let's put a flag in the user's localStorage
and prevent this check altogether.
Screenshots (strongly suggested)
How to test?
You should see the popover on first open. After opening the menu or clicking the popover it'll hide and not be loaded on subsequent page visits. To reset this state, you'll want to:
- Remove the local storage flag by running
localStorage.removeItem('gitlab::nav::has_seen_top_nav')
in your browser console. - Remove the callout flag by running
User.find(1).callouts.each { |x| x.delete }
in your local rails console.
Does this MR meet the acceptance criteria?
Conformity
-
[ ] I have included changelog trailers, or none are needed. (Does this MR need a changelog?)Behind a feature flag -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed.
Related to #323518 (closed)