Skip to content

Feat Request: Add Search, Add/Upload File, delete directory & "copy path" functionality to the repo's tree view UI #35898

@brymut

Description

@brymut

Based off of Github's tree view interface, it would be useful to add three key improvements to Gitea's file browsing experience:

  1. File search in the sidebar tree view
  2. Context menu for file/directory actions
  3. "Add file" dropdown button for creating/uploading files

1. File Search in Sidebar Tree View

Currently the repository file tree sidebar displays the hierarchical folder structure, but users must manually expand folders and scroll to find specific files. Like on Github and on the main repo view on gitea, lets add a search input field at the top of the file tree sidebar that:

  • Filters the tree view and shows matching files and folders in a dropdown/filtered list.
  • Highlights the matched portion of file/folder names.
  • Allows keyboard navigation through results.
  • Clicking a result navigates to that file.

On Github:

Image

Suggestion:

Image

2. "Add File" Dropdown Button while viewing a directory

Add an "Add file" dropdown button in the top-right area of the file browser that includes:

  • Create new file - Opens the New File form to create a new file in the current directory
  • Upload files - Opens the file upload form to upload one or multiple files as a commit

On Github:

Image

Suggestion:

Image

3. Directory Context Menu

Add a three-dot menu button (⋯) in the top-right corner of the directory view that includes:

  • Copy path
  • Copy permalink
  • Delete directory (if user has permissions)
  • View options submenu:
    • Toggle for switching between Centered content

On Github:
Image

Suggestion:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/proposalThe new feature has not been accepted yet but needs to be discussed first.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions