Skip to content

Add FF + base components for file tree browser

What does this MR do and why?

Adds a feature flag and initial components (without list of files) for the repository tree browser component.

Implementation Breakdown:

  • Terminology:
    • *Existing file tree (list of files) → File tree
    • *New file tree browser component → File tree browser (FTB)
Task Status Notes
Add FF + base components for file tree browser (FTB) 👈 this MR
Render a basic FTB + files next to the file tree follow-up MR/issue
Render a basic FTB + files next to the blob viewer follow-up MR/issue
Navigate from file tree → blob via FTB without refresh follow-up MR/issue
Navigate from file tree → tree via FTB without refresh follow-up MR/issue
Navigate from blob → file tree vis FTB without refresh follow-up MR/issue Requires passing extra props for tree to render
Navigate from overview → file tree/blob without refresh follow-up MR/issue FTB should not render on overview page
Share state between FTB and file tree follow-up MR/issue
Indicate the current file in the FTB follow-up MR/issue
Implement file browser panel resizer follow-up MR/issue
Implement expand/collapse toggle + auto-collapse on mobile follow-up MR/issue
Implement filtering follow-up MR/issue
Match the styling of MR file browser + responsiveness follow-up MR/issue
Implement ARIA tree view pattern follow-up MR/issue See #525169 (comment 2447409353)

Screenshots or screen recordings

Before After
Screenshot_2025-04-28_at_14.41.52 Screenshot_2025-04-28_at_14.46.43
Screenshot_2025-04-28_at_14.42.04 Screenshot_2025-04-28_at_14.46.54

How to set up and validate locally

  1. Enable the repository_file_tree_browser flag
  2. Navigate to either the repository blob viewer or tree list (not project overview)
  3. The file tree browser should render

Related to #536028 (closed)

Edited by Jacques Erasmus

Merge request reports

Loading