fix: return clone pipeline button back to the top menu #1656
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Description
Added a new TopNavActionsProvider system that allows components to register actions in the top navigation bar. This enables context-specific actions to appear in the global navigation.
Implemented a "Clone Pipeline" button in the top navigation bar for the Pipeline Run page, making this functionality more discoverable while maintaining the existing inline button.
Alternatives
Option A: React Portal
Use
createPortalto render content into a designated DOM node in the menu.Pros:
Cons:
document.getElementById()to returnnullVerdict: ❌ Not suitable for this requirement
Option B: Module-Level Store (useSyncExternalStore)
Lightweight pub/sub pattern without React Context.
Pros:
Cons:
Option C: Route-Based Conditional Rendering
Check current route in AppMenu and render appropriate actions.
Pros:
Cons:
Verdict: ❌ Not suitable for this requirement
Option D: Render Component Twice (Simplest)
Render the same component in both locations; use CSS to control visibility.
Pros:
Cons:
Verdict: ❌ Not suitable for this requirement
Type of Change
Checklist
Test Instructions
Screen Recording 2026-01-16 at 12.51.19 PM.mov (uploaded via Graphite)
Additional Comments
The TopNavActionsProvider is designed to be reusable for other context-specific actions that should appear in the global navigation. Actions can be prioritized to control their order in the navigation bar.