From 6451cf3a3c752a20bc127ccd34abba6281689773 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 15 Jul 2026 12:33:44 +0200 Subject: [PATCH] feat(web): Floor press + per-item controls (pause/resume/clear/stop/remove) Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/app/api/requests/route.ts | 1 + web/src/app/design.css | 3 +++ web/src/app/queue.tsx | Bin 8364 -> 11720 bytes 3 files changed, 4 insertions(+) diff --git a/web/src/app/api/requests/route.ts b/web/src/app/api/requests/route.ts index 8087281..67de383 100644 --- a/web/src/app/api/requests/route.ts +++ b/web/src/app/api/requests/route.ts @@ -64,6 +64,7 @@ export async function GET() { claimedAt: r.job.claimedAt, updatedAt: r.job.updatedAt, downloadProgress: r.job.downloadProgress, + paused: r.job.paused, candidateCount: cands.length, chosen: chosen ? { source: chosen.source, format: chosen.format, trackCount: chosen.trackCount } : null, }; diff --git a/web/src/app/design.css b/web/src/app/design.css index 9bad9ce..4582afe 100644 --- a/web/src/app/design.css +++ b/web/src/app/design.css @@ -245,6 +245,9 @@ nav.contents .sep { flex: 1; } .btn.ghost { border-color: var(--rule-2); color: var(--graphite); } .btn.ghost:hover { background: transparent; border-color: var(--ink); color: var(--ink); } +.press-controls { display: flex; gap: 0.5rem; align-items: center; margin: 0 0 1rem; flex-wrap: wrap; } +.item-controls { display: inline-flex; gap: 0.5rem; align-items: center; } + .toggle { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--graphite); display: inline-flex; align-items: center; gap: 7px; cursor: pointer; diff --git a/web/src/app/queue.tsx b/web/src/app/queue.tsx index d18ea85bcce54e7960925600a3f6cf3344d10779..506405b785d9230615825a24b970fe548b456254 100644 GIT binary patch delta 1944 zcma)7&u<$=6jq4qADd7U(t4ZNkmqS5ttH1U0)!M|n-C(@iXWk^gwzV;jdyHsvb$qu zW@C_R$_WW^0nIe%P^{P?cP)%)Iw~-+S+Sv)}Fh za_`~w#T9^_8#C-}!yzF7cB4^w@wtWU^tkN?43G8_zb%vjS|nl|?wOP_Fw75h_6JY{ ziE^8}96LHgKyoithIT**70u*{_&#~@g8A>)% zG#X$ue4hGh!9?x0xG!T|{j&{>Q$OmIAtD@$YiVZ*Ro$LnHEcg+dKYw@c-?AS(_Wj)?^ocfAA@^O#1{+oA+)`!sZ#dx{LM4NUwH#(6%+;p9+* zyZ{YA2(|$+G=#U?l!Vh78qLx?$4pPh-9ox5R0gCOv8S^&8xsGd*B@}wo3B|_ajFyD zmiIcP6;p~M4j$=80dYNWBhR>KMi1PP?d=nKjH#@hahGzY16AAILqcWKzzq)LP+o5- zsP`2XgMJrB@Ck`kRvh9AdU9b*DpPeSg+1wnsf^!0`&QMqc2#@nhHRhMNNW~x4`Y4ro^QrfY_a^OD1=fI)KC3Vi zV#lE+sMY6e%4EP1IefP*?<%tQ92?^q69N;vmsaaCNLe^^d8;c84EOKD_-KY{_L#e! zjwDA4YdE^GbaPSsy^-D2JG3P=a!LY*>Usgx$_yq842~sI_SFx;ZMCFv5Rhmu@LR{V zfm|;sT`%gyrDp7EoZ5_I8^{G4PLUP*Ep3nKs4a197m_8pABOENbh?B+flMo$av8zr zs1DQ{cZO-PG_*vD4VB6J!@a7{7-03 z;|X#KK>I<$=ERA;mH{XYCwf=KioI5R4Cu@o@tVDnP&+R{Rz++V5~``AukC#1Uv_hG Ar2qf` delta 58 zcmV-A0LA~vTdYB_Faxti0~rCca|GG}lTr*4la2;1lg0*flT-(_vq1=p0khE$I0Cb< Q5=8^Ew-^!$v%w?>32J*3G5`Po