Feature: Hierarchical Sidebar Navigation System #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 Feature: Hierarchical Sidebar Navigation System
This PR introduces a full-stack implementation of a hierarchical sidebar navigation system that replaces the previous flat navigation model. It includes backend schema and API updates, frontend tree rendering with collapsible groups, and dynamic route management.
✨ Key Features
🧠 Backend Enhancements
Model Changes (
NavigationRoute)Added support for:
parent_id(for nesting)display_order(sibling sorting)is_collapsible,is_expanded(UI state)Defined recursive relationships (
parent,children)Added utility methods:
get_tree_structure()move_to_parent()validate_hierarchy()get_max_display_order()New API Endpoints
GET /navigation-routes/tree: returns full navigation tree per userPUT /navigation-routes/{id}/move: move route under a new parent or positionPOST /navigation-routes/batch-update: update multiple routes (expanded, display order, etc.)Schema Updates
NavigationRouteTreeNavigation Initializer
Two-pass logic to initialize:
Modularized SQL insert logic via
_create_route()Alembic Migration
add_hierarchical_navigation_support🖥️ Frontend Enhancements
Sidebar Navigation Overhaul (
PageNavigation.tsx)Route Display Improvements
New UX Behavior
is_expanded🛠 Dev Environment
Vite Config & Debugging
✅ Benefits