Skip to content

feat: Flat Folder Navigator (Issue #200)#202

Merged
dep merged 4 commits intomainfrom
feature/flat-folder-navigator
Apr 2, 2026
Merged

feat: Flat Folder Navigator (Issue #200)#202
dep merged 4 commits intomainfrom
feature/flat-folder-navigator

Conversation

@dep
Copy link
Copy Markdown
Owner

@dep dep commented Apr 2, 2026

Summary

Adds the ability to right-click on any folder in the file browser and customize its appearance with:

  • 11 pastel background colors (Rose, Peach, Honey, Sage, Mint, Teal, Sky, Lavender, Violet, Blush, Sand)
  • 26 SF Symbol icons including:
    • Star, Heart, Bookmark, Tag
    • Bolt, Flame, Leaf, Moon, Sun, Cloud, Drop
    • Atom, Briefcase, Camera, Music, Book
    • Pencil, Lightbulb, Brain, Chart
    • Robot (cpu), Mobile (iphone), People (person.2), Person (person), Calendar, Wrench

How it works

  1. Right-click any folder in the sidebar
  2. Select "Customize Appearance…"
  3. Choose a color and/or icon
  4. Click Apply — changes are immediate

Settings are stored in .synapse/settings.yml using vault-relative paths for cross-machine portability.

Screenshots

  • Color picker: 4-column grid with "None" option
  • Icon picker: 4-column grid with "None" option (defaults to folder.fill)
  • Custom background applied at 12% opacity for subtle theming

Testing

  • ✅ All 1913 tests pass
  • ✅ Works in both light and dark themes
  • ✅ Settings persist across app restarts
  • ✅ Portable across machines (relative paths)

Files Changed

  • FolderAppearance.swift — Data models for colors, icons, and appearance
  • FolderAppearancePicker.swift — Sheet UI for picking color/icon
  • SettingsManager.swift — Added folderAppearances storage
  • AppState.swift — Added folder appearance helpers
  • FileTreeView.swift — Context menu and appearance rendering in rows

dep added 4 commits April 2, 2026 07:11
- Replace tree-style folder viewer with flat navigation (iOS Files-style drill-down)
- Add back button that shows current folder name when navigating into subfolders
- Implement navigation methods: navigateToFolder(), navigateBackInFlatNavigator(), navigateToRootInFlatNavigator()
- Add pinned folders as drop targets for drag-and-drop file moving
- Implement drag-over-back-button navigation (hover to navigate up during drag)
- Add comprehensive tests for flat folder navigator functionality
@dep dep marked this pull request as ready for review April 2, 2026 13:43
@dep dep merged commit c75ed2f into main Apr 2, 2026
2 checks passed
@dep dep deleted the feature/flat-folder-navigator branch April 2, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant