From b1f6408da6a27dad60b67a5481f429939ffe45ee Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 15 Jul 2026 02:39:13 +0200 Subject: [PATCH] feat(lastfm): inline Follow / Want buttons on the browse rows Previously the /lastfm rows only showed a status chip; following an artist or wanting an album meant opening the modal first. Add an inline Follow button to each Artists-tab row and an inline Want button to each Albums-tab row, reusing the same endpoints as the modals (resolve MB id/release-group as needed, then POST /api/artists or /api/discover/want). Optimistic per-row state flips the button to the Following/Wanted chip without a reload; the button is disabled while the request is in flight. Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/app/lastfm/lastfm-client.tsx | Bin 12516 -> 16306 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/web/src/app/lastfm/lastfm-client.tsx b/web/src/app/lastfm/lastfm-client.tsx index 6f035da6f67c5a2f28241b369498b26d7d473c3d..afa704559e5bc8aa051c9879fed8ea75ba7a5b4d 100644 GIT binary patch delta 2282 zcmb`I-)kII6vzDmb#2qsZZeywt)5QPbVichr8H`jZi5vHDpH6-5e0L1=Wa4&b|%if z<0hudFe}BIo#CL6j`Z{J(OMeL~7c?8u`y}gG1+a zX=zJWh39dhVpU!alr&4845XGLtFhEc9A?WVT`vpl?fq678%qg@4@{G7(;Oxs7XI40 zhISlvK!jk9&v?MY-5;pcDhj@q)bx)N<+rZW?(iERYe^+T!}|i!+E4_Rqytb1N0DnF z=*^}K$(w9nC-OuZxO4m?1jEZ*fmBCqGd54sY zP+;6Pu#kad^{3`+)O_CDca+^`#;WT=WmdX$W;W6IH{5IzA1AUOr{nFc%lPBzv-o}4 z!kYCO{(1T;zFD5eh4L(ZR-PXR==Gb*|M9!>6y7PnGYKOl%qE<->~SMd*>fhfu+HF) zbp`KR)A&z$I-Sdt6*RDVYEd=XfZMmZSyjH$iGoI>0hjAnauS&&LwxC4m=SB*L;G@s!}~WIgJ1D1yK^ z%Q;5uPoXWSM86_C+T)u!L^ThQqnPGPeh6vCcNl7#YEsY%*5WAHEGRYwGL%0YV!1$> z2O0SKKeCMbla(}^ek)P8k8UxE4wIV?t^bi*!jXu5IrE*J#@0mpWDZznF+P}>!N(I9 z%ZG8r(%4zNI_Vruay+?oGM{p6&kDY4)ld?|2Ih0PZvp;oIcQZJT&lc*w<>R8TB+kN zl}lezSKVBPnO-c9LCKV9;k6kuR2IEG!E-ZtC`*sD#YZk^cb^Q6l7@n$^@TXY|ufZ{_*H66dWZ#LA zu_oLec)k+NKzfaxVp0v~#$WB%-6L1Hs{L^Ht__Qjk9_>YzVw3I!`<_<_{6!ncjm$u zFV4^j*xlSjBftNpbPlS&>&zdee!-~cJO$ZLQ$I+};%5iq2MZ(Gxx@C5^1Ua{UoZU& D3pvvW delta 71 zcmdl~|0Hq4Nsi4n+}u2yXDJr&Pgb!Ln_O$AI62Kweex`OuE{0_ij&Wn`%m7hE4i83 R*qIrsz!fIB`HcB9b^y958Mpud