Skip to content

Super sidebar: Support project, group and "your work"

Lukas Eipert requested to merge leipert-first-iteration-super-sidebar into master

What does this MR do and why?

Serialize panel data for Super Sidebar

This adds a "Super Sidebar" serialization for the existing Sidebar Panels. In order to prevent potential future mishaps, it is probably best to generate both the "old" and the "new" sidebar structure from the same underlying data:

  1. It will be easier for us to ensure that all current menu items will find a new home.
  2. It allows us to iteratively group and/or rename menu items (or actively choose not rendering them in the future).

Currently we just default to the existing sidebar groupings, but the current code is written in a way, that it would be easy for us to start add a new "super sidebar parent" to the sidebar serialization (and e.g. force each MenuItem to define one of those. Same goes e.g. with names and other properties.

Render new Super Sidebar Menu serialization

This renders the menu items from the new "Super Sidebar" serialization. It has support for groupings and rendering links, but nothing special has been done so for to render counts or some other advanced properties of Menu Items.

Only render super sidebar on supported pages

We only have the data model of the sidebar panels for groups, projects and "your work". We should only render the super sidebar on those pages, in order to enable the super sidebar to be completely usable in production mode.

See also:

Screenshots or screen recordings

Before After Note
N/A Screen_Recording_2023-02-16_at_12.53.19 Screen recording, showing off Your Work, Group and Project functionality
N/A Screenshot_2023-02-16_at_12.55.20 "Your Work"
N/A Screenshot_2023-02-16_at_12.55.58 Project sidebar
N/A Screenshot_2023-02-16_at_12.56.21 Group sidebar
Screenshot_2023-02-15_at_15.27.25 Screenshot_2023-02-15_at_15.26.04 Admin settings sidebar (see also )
Screenshot_2023-02-15_at_15.27.17 Screenshot_2023-02-15_at_15.26.25 User settings sidebar (see also )

How to set up and validate locally

  1. Enable the super_sidebar_nav and recommended: your_work_sidebar feature flags.
  2. Log into the GDK and enable the New Navigation for the current user.

MR acceptance checklist

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

Edited by Peter Leitzen

Merge request reports

Loading