From 347d9187893d95ac9f16aa625b12125ab92d5f8b Mon Sep 17 00:00:00 2001 From: Lorenzo Venerandi Date: Sun, 8 Mar 2026 12:38:33 +0100 Subject: [PATCH] code layout improvement --- .../dashboard/partials/admin_panel.html | 27 ------------------- .../partials/ban_attackers_table.html | 2 +- .../partials/ban_overrides_table.html | 2 +- src/templates/static/js/dashboard.js | 7 +++++ 4 files changed, 9 insertions(+), 29 deletions(-) diff --git a/src/templates/jinja2/dashboard/partials/admin_panel.html b/src/templates/jinja2/dashboard/partials/admin_panel.html index 5737820..22bcedc 100644 --- a/src/templates/jinja2/dashboard/partials/admin_panel.html +++ b/src/templates/jinja2/dashboard/partials/admin_panel.html @@ -98,31 +98,4 @@ document.addEventListener('alpine:init', () => { })); }); -async function banAction(ip, action) { - const confirmed = await krawlModal.confirm(`Are you sure you want to ${action} IP ${ip}?`); - if (!confirmed) return; - try { - const resp = await fetch(`${window.__DASHBOARD_PATH__}/api/ban-override`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - credentials: 'same-origin', - body: JSON.stringify({ ip, action }), - }); - if (resp.ok) { - krawlModal.success(`${action} successful for ${ip}`); - const overrides = document.getElementById('overrides-container'); - if (overrides) { - htmx.ajax('GET', `${window.__DASHBOARD_PATH__}/htmx/ban/overrides?page=1`, { - target: '#overrides-container', - swap: 'innerHTML' - }); - } - } else { - const result = await resp.json().catch(() => ({})); - krawlModal.error(result.error || `Failed to ${action} IP ${ip}`); - } - } catch { - krawlModal.error('Request failed'); - } -} diff --git a/src/templates/jinja2/dashboard/partials/ban_attackers_table.html b/src/templates/jinja2/dashboard/partials/ban_attackers_table.html index 6206e3a..4569578 100644 --- a/src/templates/jinja2/dashboard/partials/ban_attackers_table.html +++ b/src/templates/jinja2/dashboard/partials/ban_attackers_table.html @@ -36,7 +36,7 @@ {{ ip.city | default('') | e }}{% if ip.city and ip.country_code %}, {% endif %}{{ ip.country_code | default('N/A') | e }} {{ ip.last_seen | format_ts }} - diff --git a/src/templates/jinja2/dashboard/partials/ban_overrides_table.html b/src/templates/jinja2/dashboard/partials/ban_overrides_table.html index 71cd437..b9b9786 100644 --- a/src/templates/jinja2/dashboard/partials/ban_overrides_table.html +++ b/src/templates/jinja2/dashboard/partials/ban_overrides_table.html @@ -44,7 +44,7 @@ {{ ip.city | default('') | e }}{% if ip.city and ip.country_code %}, {% endif %}{{ ip.country_code | default('N/A') | e }} {{ ip.last_seen | format_ts }} - diff --git a/src/templates/static/js/dashboard.js b/src/templates/static/js/dashboard.js index db5ef36..41749cb 100644 --- a/src/templates/static/js/dashboard.js +++ b/src/templates/static/js/dashboard.js @@ -332,6 +332,13 @@ window.ipBanAction = async function(ip, action) { const result = await resp.json().catch(() => ({})); if (resp.ok) { krawlModal.success(result.message || `${action} successful for ${ip}`); + const overrides = document.getElementById('overrides-container'); + if (overrides) { + htmx.ajax('GET', `${window.__DASHBOARD_PATH__}/htmx/ban/overrides?page=1`, { + target: '#overrides-container', + swap: 'innerHTML' + }); + } } else { krawlModal.error(result.error || `Failed to ${action} IP ${ip}`); }