Skip to content

✨ Custom implementation of Sidebar #123

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

UIThis is UI relatedhelp wantedExtra attention is needed

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions