Skip to content

Add folder management UI with hierarchical navigation drawer and ManageFolders screen#10

Draft
Copilot wants to merge 3 commits into
masterfrom
copilot/update-interface-design
Draft

Add folder management UI with hierarchical navigation drawer and ManageFolders screen#10
Copilot wants to merge 3 commits into
masterfrom
copilot/update-interface-design

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 28, 2026

Implements the folder management system described in the interface spec: navigation drawer with expandable folder hierarchy, dedicated folder management screen with edit mode, and folder creation dialog with color picker.

Domain & Data

  • Folder model (@Serializable) with id, name, color, parentId, order, noteCount — supports nested hierarchies
  • StoragePreferences extended with folder CRUD (JSON-serialized to DataStore) and trash note tracking
  • FolderColors — 11 predefined color swatches matching the spec

FolderViewModel

  • Full folder lifecycle: create, rename, delete (cascading to descendants), reorder, move, batch color
  • Multi-select edit mode with selectedFolderIds / isEditMode state
  • Circular reference protection on moveFolder/moveFolders — validates target is not a descendant
  • Tree helpers: getRootFolders, getChildFolders, countNotesInSubtree

UI Changes

  • DashboardScreen drawer redesigned: All notes → Trash → divider → expandable Folders section with note count badges → "Manage Folders" pill button. Settings gear replaces close button. Chevron expand uses IconButton to isolate click from row tap.
  • DashboardScreen main: title → "All notes", FAB → circular with Edit icon, added MoreVert action, empty state shows "No notes" / "Tap the button below to create a note"
  • ManageFoldersScreen (new): folder tree in rounded card, indent by depth, chevron + reorder handle per row. Edit mode swaps handles for checkboxes, shows bottom action bar (Move, Create sub…, Folder color, Rename, Delete). "Create folder" row with green + at bottom.
  • CreateFolderDialog: text input + horizontally scrollable color swatch row with checkmark selection

Navigation & DI

  • Screen.ManageFolders route added to NavGraph
  • FolderViewModel registered in Koin appModule
  • DashboardScreen takes onOpenManageFolders callback

Tests

  • 10 unit tests covering Folder serialization round-trips, hierarchy filtering, descendant collection, and FolderColors configuration

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits February 28, 2026 18:11
…ders screen, updated drawer and navigation

Co-authored-by: AQSAMA <[email protected]>
…sage, drawer chevron click isolation

Co-authored-by: AQSAMA <[email protected]>
Copilot AI changed the title [WIP] Update interface based on new design specifications Add folder management UI with hierarchical navigation drawer and ManageFolders screen Feb 28, 2026
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.

2 participants