diff --git a/web/src/padelnomics/admin/routes.py b/web/src/padelnomics/admin/routes.py index 0fc4097..89336cc 100644 --- a/web/src/padelnomics/admin/routes.py +++ b/web/src/padelnomics/admin/routes.py @@ -1849,6 +1849,9 @@ async def article_delete(article_id: int): from ..sitemap import invalidate_sitemap_cache invalidate_sitemap_cache() + if request.headers.get("HX-Request"): + return "" # row removed via hx-swap="outerHTML" + await flash("Article deleted.", "success") return redirect(url_for("admin.articles")) @@ -1873,6 +1876,18 @@ async def article_publish(article_id: int): from ..sitemap import invalidate_sitemap_cache invalidate_sitemap_cache() + if request.headers.get("HX-Request"): + updated = await fetch_one( + """SELECT *, + CASE WHEN status = 'published' AND published_at > datetime('now') + THEN 'scheduled' + WHEN status = 'published' THEN 'live' + ELSE status END AS display_status + FROM articles WHERE id = ?""", + (article_id,), + ) + return await render_template("admin/partials/article_row.html", a=updated) + await flash(f"Article status changed to {new_status}.", "success") return redirect(url_for("admin.articles")) diff --git a/web/src/padelnomics/admin/templates/admin/partials/article_results.html b/web/src/padelnomics/admin/templates/admin/partials/article_results.html index 5756cb1..2d95b07 100644 --- a/web/src/padelnomics/admin/templates/admin/partials/article_results.html +++ b/web/src/padelnomics/admin/templates/admin/partials/article_results.html @@ -13,38 +13,7 @@
{% for a in articles %} -