Make Added button remove artist and refresh search results

This commit is contained in:
2026-07-06 15:19:57 +02:00
parent 1e1ff42d17
commit 14ee3555ee
2 changed files with 20 additions and 1 deletions
@@ -76,6 +76,21 @@ public class ArtistController {
return artistListTemplate.data("artists", allArtists); return artistListTemplate.data("artists", allArtists);
} }
@DELETE
@Path("/{mbid}/from-search")
@Produces(MediaType.TEXT_HTML)
public TemplateInstance removeArtistFromSearch(@PathParam("mbid") String mbid,
@QueryParam("q") @DefaultValue("") String q) {
artistService.removeArtist(mbid);
List<SearchResult> results;
if (q == null || q.isBlank()) {
results = List.of();
} else {
results = artistService.search(q);
}
return searchResultsTemplate.data("artists", results);
}
@PATCH @PATCH
@Path("/{mbid}/monitor") @Path("/{mbid}/monitor")
@Produces(MediaType.TEXT_HTML) @Produces(MediaType.TEXT_HTML)
@@ -20,7 +20,11 @@
</div> </div>
<div class="flex-shrink-0"> <div class="flex-shrink-0">
{#if artist.alreadyTracked} {#if artist.alreadyTracked}
<button class="btn btn-warning btn-sm">✓ Added</button> <button class="btn btn-warning btn-sm"
hx-delete="/api/artists/{artist.mbid}/from-search"
hx-vals='js:{q: document.getElementById("search-input").value}'
hx-target="#search-results"
hx-swap="innerHTML">✓ Added</button>
{#else} {#else}
<button class="btn btn-primary btn-sm" <button class="btn btn-primary btn-sm"
hx-post="/api/artists/{artist.mbid}/track" hx-post="/api/artists/{artist.mbid}/track"