Skip to content

ui: deploy affordance + empty states (#32) - #34

Merged
lex00 merged 1 commit into
mainfrom
feat/32-empty-states
Jul 13, 2026
Merged

lex00 merged 1 commit into
mainfrom
feat/32-empty-states

Conversation

@lex00

@lex00 lex00 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Closes #32 (epic #23).

Explains the blanks instead of leaving them looking broken:

  • No ApplyOp → inline hint in the actions bar (no Ops — add an ApplyOp to enable Sync, or no ApplyOp — Sync unavailable), with a tooltip on how delegated writes work. Previously Sync just silently wasn't there.
  • All-pending overlay → meta appends nothing deployed in <env> yet when 0 managed / 0 foreign, so all-blue reads as state, not a bug.
  • Empty lanes → now points at ↻ Refresh / Sync / --poll as how frames accrue, plus a back-to-graph link.

Verified: example (0 ops) → no-Ops hint; empty /lanes mentions Refresh/Sync/--poll. tsc + 32 tests pass.

Explain the blanks instead of leaving them looking broken:
- No ApplyOp → an inline "no Ops — add an ApplyOp to enable Sync" (or "no
  ApplyOp — Sync unavailable") hint in the actions bar, with a tooltip on how
  delegated writes work. Previously Sync just wasn't there.
- All-pending overlay → the meta appends "nothing deployed in <env> yet" when
  0 managed / 0 foreign, so all-blue reads as state, not a bug.
- Empty lanes page → now points at ↻ Refresh / Sync / --poll as the ways frames
  accrue, plus a back-to-graph link.
@lex00
lex00 merged commit 830d90d into main Jul 13, 2026
1 check passed
@lex00
lex00 deleted the feat/32-empty-states branch July 13, 2026 23:34
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.

ui: deploy affordance + empty states when a project has no Ops

1 participant