GitHub
07/29/2026, 12:37 AMLoader2 from lucide-react with Tailwind's animate-spin (same as the node console and dashboard) — rendered as a small 12px icon inside the badge pill.
Where it shows
| Page | Badge |
| --------------- | ---------------------------------------------------------------- |
| QueriesListPage | "Active" in the queries table |
| QueryDetailPage | "Active" in the query detail header |
| CarvesListPage | "Active" and "Pending" (a pending carve is an in-flight upload) |
| CarveDetailPage | Per-file transfer badge while IN PROGRESS, SCHEDULED, or QUERIED |
Details
• Each page's local badge component gains an optional spin prop; the badge span is now inline-flex items-center gap-1 so the icon aligns cleanly with the label.
• The spinner is aria-hidden, so screen readers keep reading just the status label.
• Terminal states (Completed, Expired, Deleted, Unknown) are unchanged.
• No API or type changes.
Test plan
• tsc --noEmit clean.
• vitest suites for queries and carves pass (4 files, 23 tests).
jmpsec/osctrlGitHub
07/29/2026, 12:48 AM