UI refloat: two-state repo-card dashboard, remove detail/search/interactive pages #38

Open
opened 2026-05-23 20:55:25 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-14T22:10:37Z - https://github.com/coilysiren/repo-recall/issues/144

Refloat the entire HTML surface into one route - a grid of repo cards - and remove every other page.

Scope

  • Dashboard becomes a grid of repo cards. Mobile 1-col, desktop 2-col (≥768px), ultrawide 3-col (≥1920px). Cards have variable height. No two-column layout inside a card.
  • Two card states (same route): short (default) and verbose (expand-in-place via ?expanded=<repo-id>). Verbose fades sibling cards to opacity 0 (still in DOM), grows the clicked card, deep-linkable.
  • Three-tier hydration:
    1. GET / returns repo skeletons (id, name, GH slug).
    2. GET /api/repos/{id}/card returns the short card payload, htmx-fetched per card with hx-trigger="load".
    3. GET /api/repos/{id}/card?verbose=1 returns verbose payload on click.
  • Card row schema (from chat, lands in config.yaml per #B):
short rows: heading | banner(action-required) | health | activity(5/30d) | work(5) | asks(3) | sessions(5/90d) | dispatch(3) | churn(5/30d) | overflow_link
verbose rows: same ids, larger caps, show_absent_with_reason=true
  • Sort: descending by most-recent-commit-timestamp, alphabetical tiebreaker, action-required cards float to top.
  • Embedded search: single filter input above the grid that narrows by repo name + full-text against commit subjects and session summaries. No separate /search page.
  • Remove: /repos/{id} detail page, /sessions/{id} detail page, /search page, git push/pull htmx fragments, POST /api/clone and the "clone one" panel.

Out of scope

  • Per-source refresh cadence (separate issue).
  • Config file loader (separate issue, blocks the row schema landing as configurable).
  • cli-guard data ingress (separate issue; adds an audit row when it lands).

Designed in chat 2026-05-14.

_Originally filed by @coilysiren on 2026-05-14T22:10:37Z - [https://github.com/coilysiren/repo-recall/issues/144](https://github.com/coilysiren/repo-recall/issues/144)_ Refloat the entire HTML surface into one route - a grid of repo cards - and remove every other page. ## Scope - **Dashboard becomes a grid of repo cards.** Mobile 1-col, desktop 2-col (≥768px), ultrawide 3-col (≥1920px). Cards have variable height. No two-column layout inside a card. - **Two card states (same route):** short (default) and verbose (expand-in-place via `?expanded=<repo-id>`). Verbose fades sibling cards to opacity 0 (still in DOM), grows the clicked card, deep-linkable. - **Three-tier hydration:** 1. `GET /` returns repo skeletons (id, name, GH slug). 2. `GET /api/repos/{id}/card` returns the short card payload, htmx-fetched per card with `hx-trigger="load"`. 3. `GET /api/repos/{id}/card?verbose=1` returns verbose payload on click. - **Card row schema** (from chat, lands in config.yaml per #B): ``` short rows: heading | banner(action-required) | health | activity(5/30d) | work(5) | asks(3) | sessions(5/90d) | dispatch(3) | churn(5/30d) | overflow_link verbose rows: same ids, larger caps, show_absent_with_reason=true ``` - **Sort:** descending by most-recent-commit-timestamp, alphabetical tiebreaker, action-required cards float to top. - **Embedded search:** single filter input above the grid that narrows by repo name + full-text against commit subjects and session summaries. No separate `/search` page. - **Remove:** `/repos/{id}` detail page, `/sessions/{id}` detail page, `/search` page, git push/pull htmx fragments, `POST /api/clone` and the "clone one" panel. ## Out of scope - Per-source refresh cadence (separate issue). - Config file loader (separate issue, blocks the row schema landing as configurable). - cli-guard data ingress (separate issue; adds an `audit` row when it lands). Designed in chat 2026-05-14.
coilysiren added
P3
and removed
P2
labels 2026-05-31 07:01:13 +00:00
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/repo-recall#38
No description provided.