Skip to content

Convert user profile tabs to a sidebar panel

What does this MR do and why?

This creates a sidebar panel holding the user profile's tabs' links. This is currently only visible with the super sidebar enabled as we are redesigning this page as part of that initiative. The whole page is currently being migrated to Vue, so we're doing the bare minimum to support the navigation redesign effort for now. This will likely need to be revisited later on once the Vue migration has progressed a little more.

Notes:

  • In here, we are only focusing on moving the tabs to the sidebar. The issue mentions a few other updates that we are ignoring for now to keep the changes small. Specifically, we are not yet showing the breadcrumbs on this page, this means that the sidebar cannot be re-opened once it's been closed once. We'll look into this in a follow-up. Potentially, this could be addressed as part of this other issue: Add breadcrumbs to all pages in GitLab that nee... (#393130 - closed).
  • With these changes, the routing is done server-side rather than client-side. This is a temporary setback that we have agreed on because this page is being rebuilt with Vue.

Screenshots or screen recordings

Before After After (super sidebar disabled, no visual change)
Screenshot_2023-03-01_at_11.58.35_AM Screenshot_2023-03-03_at_4.23.09_PM Screenshot_2023-03-01_at_12.05.22_PM

How to set up and validate locally

  1. Navigate to a user's profile page at /:user.
  2. To enable the new nav:
    1. Enable the feature flag:

      echo "Feature.enable(:super_sidebar_nav)" | rails c
    2. Enable the user setting from the user dropdown:

      Screenshot_2022-12-13_at_1.32.43_PM

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #382327 (closed)

Edited by Paul Gascou-Vaillancourt

Merge request reports