diff --git a/jtl-wafi-dashboard.py b/jtl-wafi-dashboard.py index d46294f..d699832 100644 --- a/jtl-wafi-dashboard.py +++ b/jtl-wafi-dashboard.py @@ -1530,7 +1530,8 @@ def get_dashboard_html() -> str: .ip-item, .request-item { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px; border-radius: 4px; margin-bottom: 4px; background: var(--bg); } .ip-item:hover { background: var(--border); } .ip-item .ip-info { display: flex; flex-direction: column; gap: 2px; flex: 1; } - .ip-item .ip-addr { font-family: monospace; font-weight: 500; } + .ip-item .ip-addr { font-family: monospace; font-weight: 500; color: var(--accent); text-decoration: none; } + .ip-item .ip-addr:hover { text-decoration: underline; } .ip-item .ip-meta { font-size: 10px; color: var(--text-secondary); } .ip-item .ip-count { font-weight: 600; color: var(--accent); margin-right: 8px; } .ip-item .ip-actions { display: flex; gap: 4px; } @@ -1736,8 +1737,8 @@ def get_dashboard_html() -> str: function changeStatsWindow(w){currentStatsWindow=w;requestLiveStats();} function requestLiveStats(){if(!currentLogsShop||!ws||ws.readyState!==1)return;ws.send(JSON.stringify({type:'command.livestats',data:{shop:currentLogsShop,window:currentStatsWindow}}));} function renderLiveStats(data){if(!data.success||!data.stats)return;const st=data.stats;document.getElementById('topIpsList').innerHTML=renderTopIps(st.top_ips||[]);document.getElementById('suspiciousIpsList').innerHTML=renderSuspiciousIps(st.suspicious_ips||[]);document.getElementById('topRequestsList').innerHTML=renderRequests(st.top_requests||[]);document.getElementById('topBlockedList').innerHTML=renderRequests(st.top_blocked||[],'blocked');} - function renderTopIps(ips){if(!ips.length)return '