Auto-refresh feed when adding/removing artists via search

This commit is contained in:
2026-07-06 15:36:21 +02:00
parent aa1234d363
commit 14c1f3cb72
@@ -64,7 +64,7 @@ public class ArtistController {
var allArtists = artistService.findAll();
var listHtml = artistListTemplate.data("artists", allArtists).render();
var emptySearch = searchResultsTemplate.data("artists", List.of()).render();
return Response.ok(emptySearch + listHtml).build();
return Response.ok(emptySearch + listHtml + feedReloadScript()).build();
}
@DELETE
@@ -80,7 +80,7 @@ public class ArtistController {
@Path("/{mbid}/from-search")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public TemplateInstance removeArtistFromSearch(@PathParam("mbid") String mbid,
public Response removeArtistFromSearch(@PathParam("mbid") String mbid,
@QueryParam("q") @DefaultValue("") String q,
@FormParam("q") @DefaultValue("") String qForm) {
artistService.removeArtist(mbid);
@@ -91,7 +91,13 @@ public class ArtistController {
} else {
results = artistService.search(query);
}
return searchResultsTemplate.data("artists", results);
var searchHtml = searchResultsTemplate.data("artists", results).render();
var feedResult = feedService.getFeedEntries(1);
var feedHtml = feedEntriesTemplate
.data("entries", feedResult.entries())
.data("hasMore", feedResult.hasMore())
.data("nextPage", 2).render();
return Response.ok(searchHtml + feedReloadScript()).build();
}
@PATCH
@@ -142,4 +148,8 @@ public class ArtistController {
if (a.otherMonitored()) types.add("Other");
return types;
}
private String feedReloadScript() {
return "<div hx-get=\"/api/artists/feed-table\" hx-trigger=\"load\" hx-target=\"#feed-entries\" hx-swap=\"innerHTML\"></div>";
}
}