Render sidebar Settings section as a disclosure dropdown

What does this MR do and why?

Opens the group and project Settings section in the super sidebar as a disclosure dropdown. Using a disclosure dropdown gives Settings one predictable click-to-open behavior in both states, consistent with Help, and the panel opens as an overlay so it is never clipped by the sidebar's scroll area.

Items keep the standard disclosure item styling and still offer the pin/unpin control, so a settings page can be pinned just like before. Only the Settings section changes; all other sidebar sections and the pinned section are untouched.

The new behavior is gated behind the default-off hide_unpinned_sidebar_items feature flag. With the flag off, Settings keeps its existing in-place and flyout behavior.

References

Screenshots or screen recordings

Before After
Settings_-_Flyout Settings_-_Disclosure

How to set up and validate locally

  1. Enable the feature flag in a Rails console: Feature.enable(:hide_unpinned_sidebar_items).
  2. Open any project or group in the left sidebar.
  3. Click the Settings section: it now opens as a dropdown panel instead of expanding in place.
  4. Collapse the sidebar (icon-only) and click Settings: it opens the same dropdown rather than a hover flyout.
  5. Hover a settings item in the dropdown and use the thumbtack to pin/unpin it; confirm it appears in the pinned section.
  6. Confirm other sections (Manage, Plan, Code, etc.) and the pinned section are unchanged.
  7. Disable the flag (Feature.disable(:hide_unpinned_sidebar_items)) and confirm Settings reverts to the in-place / flyout behaviour.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Austin Regnery

Merge request reports

Loading