Skip to content

feat(app): library-first shell with permanent Sidebar#124

Merged
graydawnc merged 6 commits intomainfrom
feat/library-shell
Apr 29, 2026
Merged

feat(app): library-first shell with permanent Sidebar#124
graydawnc merged 6 commits intomainfrom
feat/library-shell

Conversation

@graydawnc
Copy link
Copy Markdown
Collaborator

Why

Spool's old shell was a single-pane search box with results filling the whole window. As the product moves toward "your AI session library", the right primary surface is browsing — by project — with search as a dedicated overlay. That requires a permanent Sidebar listing every project, with one-click drill-in.

What this PR does

Adds a Sidebar component driven by project_groups_v (introduced earlier in this stack) and the IPC plumbing to expose project groups to the renderer. The right pane now swaps content based on what was clicked: home feed, project view, search results, or session detail.

The window's minWidth is bumped to 800px because the sidebar plus content needs more horizontal real estate than the old single-pane layout — anything narrower starts truncating project names aggressively. This is a deliberate trade-off: smaller windows are not a primary use case for a session library.

How it connects

This is the visual skeleton. It is intentionally light on content — the project page, search overlay, and library landing all land in subsequent PRs. Submitting them on top of this branch keeps each one reviewable in isolation.

The Sidebar talks only to project_groups_v. It does not know about session content; clicking a row dispatches an identity_key upward and lets the parent decide what to render in the content pane.

Test plan

  • e2e covers sidebar visibility and project selection
  • Manual: switch between projects via sidebar; resize window to verify minWidth clamp; confirm project counts match the database

Base automatically changed from feat/hide-star-ui to main April 29, 2026 16:17
@graydawnc graydawnc force-pushed the feat/library-shell branch from d59f16f to 07e32e3 Compare April 29, 2026 16:18
@graydawnc graydawnc marked this pull request as ready for review April 29, 2026 16:20
@graydawnc graydawnc merged commit 5ad04ac into main Apr 29, 2026
4 checks passed
@graydawnc graydawnc deleted the feat/library-shell branch April 29, 2026 16:20
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