From 14c1f3cb72c1f181dd3820fe968cf5880ba3c6e5 Mon Sep 17 00:00:00 2001 From: droideparanoico Date: Mon, 6 Jul 2026 15:36:21 +0200 Subject: [PATCH] Auto-refresh feed when adding/removing artists via search --- .../com/discdrop/web/ArtistController.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/discdrop/web/ArtistController.java b/src/main/java/com/discdrop/web/ArtistController.java index 470e995..0973435 100644 --- a/src/main/java/com/discdrop/web/ArtistController.java +++ b/src/main/java/com/discdrop/web/ArtistController.java @@ -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,9 +80,9 @@ public class ArtistController { @Path("/{mbid}/from-search") @Produces(MediaType.TEXT_HTML) @Consumes(MediaType.APPLICATION_FORM_URLENCODED) - public TemplateInstance removeArtistFromSearch(@PathParam("mbid") String mbid, - @QueryParam("q") @DefaultValue("") String q, - @FormParam("q") @DefaultValue("") String qForm) { + public Response removeArtistFromSearch(@PathParam("mbid") String mbid, + @QueryParam("q") @DefaultValue("") String q, + @FormParam("q") @DefaultValue("") String qForm) { artistService.removeArtist(mbid); var query = q != null && !q.isBlank() ? q : qForm; List results; @@ -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 "
"; + } }