Skip to content

✨ Custom implementation of Sidebar #123

Closed
@lukepistrol

Description

@lukepistrol

In order to make the sidebar more adaptable and customizable we probably need to implement a completely custom one.

The target is to move away from using NavigationLink to display the CodeFileView

Steps that need to be taken:

  • New Custom Sidebar should be added as a Module to CodeEditModules

    Requires to move Documents into a separate Module

  • move CodeFileView to WorkspaceView and display if workspace.selectedId is set.
  • in WorkspaceView add a new SidebarView in a HStack with the CodeFileView.
  • vibrancy background on new Sidebar.
  • custom tree structure for folders and files (keep in mind that in large projects performance is acceptable).
  • each item should be selectable.
  • selection state should be updated in order to represent workspace.selectedId. ( 🐞 Sidebar selection not changing in circumstances #137 )
  • when a file is selected from different UI (tabBar, quick open, …) the folders containing the file should expand and the file should move to focus.

    Xcode doesn't do this. Should we?

  • selection background should take up the full width of the sidebar - padding (like in Xcode).
  • folders need to be collapsable (mind the animation).
  • files/folders can be dragged into other folders.
  • consider ✨ Use compact list items in sidebar Project navigator #100

Metadata

Metadata

Assignees

Labels

UIThis is UI relatedhelp wantedExtra attention is needed

Type

No type

Projects

Status

🏁 Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions