Skip to content

🧭 Navigation & State Persistence #315

@vasconceloscezar

Description

@vasconceloscezar

Summary

Improve navigation flow and remember user preferences/state. Users repeatedly lose context when navigating and have to reconfigure settings.

Problems Identified

1. Context Loss When Closing Settings

Current: Closing project settings redirects to Forge home, not previous view.
Impact: Extra navigation, lost scroll position, lost filter state.

Current Flow:

Kanban → Settings → Close → Home ❌

Expected Flow:

Kanban → Settings → Close → Kanban ✅

Solution:

  • Track "return to" location before opening settings
  • Close button returns to previous route
  • Or: Settings as modal/sidebar instead of full page

2. No LLM Model Persistence

Current: Model selection resets, doesn't remember last choice.
Impact: Users re-select preferred model repeatedly.

Solution:

  • Remember last used model globally
  • Remember last used model per-project (optional)
  • Quick-switch to recent models

3. Last View Not Restored

Current: Opening Forge always goes to home/default view.
Impact: Users navigate to same project repeatedly.

Solution:

  • Remember last opened project
  • Restore last view on app open
  • "Recent Projects" quick access

4. Filter/Sort State Not Persisted

Current: Kanban filters reset on navigation.
Impact: Users re-apply filters constantly.

Solution:

  • Persist filter state per-project in localStorage
  • Persist sort preference
  • "Clear Filters" button to reset

5. Breadcrumb Improvements

Current: Breadcrumb navigation could be clearer.

Solution:

  • Clickable breadcrumb segments
  • Show current location clearly
  • Quick navigation to parent views

Acceptance Criteria

  • Closing settings returns to previous view
  • Last used LLM model is remembered
  • App restores last viewed project on open
  • Kanban filters persist across navigation
  • Breadcrumbs are fully navigable

Technical Notes

Storage:

  • localStorage for client-side preferences
  • Consider: user preferences table for cross-device sync (future)

Implementation:

  • React Router state or context for "return to"
  • Zustand/localStorage for preferences
  • URL params for shareable filter state

Team Feedback Sources

  • Feedback 1: Settings navigation context loss
  • Feedback 6: State persistence, last view, model memory

Priority

🟡 P1 - High (2/6 feedbacks, constant friction)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions