Skip to content

Add shuttle and status columns to the projects list - #321

Open
mithro wants to merge 7 commits into
mainfrom
feature/project-list-status-columns
Open

Add shuttle and status columns to the projects list#321
mithro wants to merge 7 commits into
mainfrom
feature/project-list-status-columns

Conversation

@mithro

@mithro mithro commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Adds two fixed-width columns to the left of each project row on /projects/:

  1. Shuttle — the assigned shuttle number (e.g. G801); empty when unassigned.
  2. State — a colour-coded badge showing the full Project.status (Draft, Submitted, Checking Manufacturability, Manufacturable, …), replacing the old submitted_at-derived Draft/Submitted badge in the title line.

Screenshots

Note how the old layout showed "Draft" for the Checking and Manufacturable projects — the badge was derived from submitted_at, not the real status.

Desktop (1280px)

Before After
Projects list before, desktop Projects list after, desktop

Mobile (375px — cells stack below the sm breakpoint)

Before After
Projects list before, mobile Projects list after, mobile

(Screenshots hosted on the orphan assets/pr-321-screenshots branch — not for merging.)

Changes

  • New shared partial wafer_space/templates/projects/_status_badge.html (same colour mapping the detail page used inline; the detail page now uses the partial — zero visual change there).
  • project_list.html: each list-group-item is now a flex row — shuttle cell (4.5rem), status cell (9rem), then the existing content. Cells stack vertically below the sm breakpoint so phones don't clip the content.
  • ProjectListView.get_queryset: select_related("user", "shuttle") on both branches (fixes a per-row user query for regular users, avoids new per-row shuttle queries).
  • Tests: the two old badge-markup tests replaced with four tests covering the status badge (draft/submitted/manufacturable colours via the partial's unique text-wrap bg-* fingerprint) and the shuttle column.

Design docs

  • Spec: docs/superpowers/specs/2026-07-16-project-list-columns-design.md
  • Plan (with execution amendments): docs/superpowers/plans/2026-07-16-project-list-status-columns.md

Verification

  • make lint / make type-check clean; djlint pre-commit hooks pass on all touched templates.
  • Full suite: 1458 passed, 3 skipped.
  • Visual check via Playwright at 1280px and 375px on a seeded dev DB (draft/submitted/manufacturable/checking projects, with and without shuttle): columns align, long labels wrap within the 9rem cell, rows remain fully clickable (stretched-link intact), narrow viewports stack instead of clipping.

🤖 Generated with Claude Code

https://claude.ai/code/session_0171cYvsNizPdM5mpQa8HPBo

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@mithro, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 46 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9455f159-7915-4eca-beb5-8f0995a6f918

📥 Commits

Reviewing files that changed from the base of the PR and between 936c86d and 4b59296.

📒 Files selected for processing (7)
  • docs/superpowers/plans/2026-07-16-project-list-status-columns.md
  • docs/superpowers/specs/2026-07-16-project-list-columns-design.md
  • wafer_space/projects/tests/test_views.py
  • wafer_space/projects/views.py
  • wafer_space/templates/projects/_status_badge.html
  • wafer_space/templates/projects/project_detail.html
  • wafer_space/templates/projects/project_list.html
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/project-list-status-columns

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

mithro and others added 7 commits August 2, 2026 14:42
At <576px the two fixed-width cells left the content column clipped
off-screen; flex-column flex-sm-row stacks shuttle/status above the
project content on phones.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0171cYvsNizPdM5mpQa8HPBo
@mithro
mithro force-pushed the feature/project-list-status-columns branch from fe246bc to 4b59296 Compare August 2, 2026 05:24
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