Skip to content

Projects in the side navigation are not navigable (tiles have no tap action) #703

Description

@capo-the-ai-bot

User Story

As a user, I want to tap a project in the side navigation and see that project's items, so the Projects section is actually usable instead of decorative.

Observed Behaviour (bug)

In the navigation drawer's PROJECTS section, tapping a project does nothing. The tiles render the project name and a folder icon but have no navigation.

Context (triage, current main)

In app/lib/screens/app_shell.dart, the Projects tiles are built as bare ListTiles with no onTap:

...projectTags.map((t) => ListTile(
      contentPadding: const EdgeInsets.symmetric(horizontal: 24),
      leading: const Icon(Icons.folder_outlined, color: Color(0xFF9CA3AF)),
      title: Text(t.name, ...),
    )),

Every other nav entry goes through _buildNavItem, which wires an onTap that navigates (context.go(path)). The Projects tiles were never given one.

Scope

  • Make each Projects tile navigable: tapping it should take the user to that project's items — i.e. the list of Outcomes carrying that project tag (a filtered list view), consistent with how tag filtering already works elsewhere.
  • Reflect selected/active state and close the drawer on tap, matching the other nav items' behaviour.

Acceptance Criteria

  • Tapping a project in the side nav navigates to a view of that project's Outcomes (filtered by the project tag).
  • The drawer closes on tap, consistent with other nav items.
  • The active project is indicated as selected while its view is shown (matching other nav items' selected state), if feasible.
  • Projects with no items behave sensibly (empty state, or hidden — to be decided in design).

Open Questions (for triage/design)

  • Destination shape: reuse the existing tag-filtered list (route with the project tag applied) vs. a dedicated project screen.
  • Note the vocabulary nuance (CONTEXT.md / ADR-0003): "Project" is a derived classification (an Outcome with multiple Actions), while these nav entries are project-type tags — worth confirming the intended meaning of the Projects section as part of this.

Related

  • app/lib/screens/app_shell.dart (PROJECTS section, ~line 240; _buildNavItem for the navigation pattern to mirror).
  • app/lib/providers/tags_provider.dart (projectTagsProvider), tag-filter/list infrastructure.
  • CONTEXT.md § GTD Core — Project (derived classification), Label/Tag; ADR-0003.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions