Feat: Fail2ban-Banlist mit Grid-Layout für saubere Spaltenausrichtung

main v1.1.426
boban 2026-04-27 05:28:55 +02:00
parent ff28b98555
commit 93699108eb
1 changed files with 21 additions and 8 deletions

View File

@ -18,18 +18,31 @@
Keine aktiven Banns vorhanden.
</div>
@else
<div style="padding:10px 12px">
{{-- Spalten: Dot | IP | Dienst | Status+Zeit | Button --}}
<div style="padding:6px 12px 10px">
@foreach($rows as $r)
<div class="f2b-row {{ $r['style'] }}">
<div style="display:flex;align-items:center;gap:10px;min-width:0;flex:1">
<div class="f2b-dot {{ $r['style'] }}"></div>
<code style="font-size:12.5px;color:var(--mw-t1);letter-spacing:.02em;flex-shrink:0">{{ $r['ip'] }}</code>
<span class="f2b-jail-badge" title="{{ $r['jail'] }}">{{ $r['service'] }}</span>
<span style="font-size:10.5px;color:{{ $r['style'] === 'permanent' ? 'rgba(252,165,165,.8)' : 'rgba(252,211,77,.8)' }}">{{ $r['label'] }}</span>
<div class="f2b-row {{ $r['style'] }}"
style="display:grid;grid-template-columns:8px 140px 80px 1fr 28px;align-items:center;gap:0 10px">
{{-- Dot --}}
<div class="f2b-dot {{ $r['style'] }}" style="justify-self:center"></div>
{{-- IP --}}
<code style="font-size:12px;color:var(--mw-t1);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">{{ $r['ip'] }}</code>
{{-- Dienst --}}
<span class="f2b-jail-badge" title="{{ $r['jail'] }}"
style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%">{{ $r['service'] }}</span>
{{-- Status + Restzeit --}}
<div style="display:flex;align-items:center;gap:6px;min-width:0">
<span style="font-size:10.5px;white-space:nowrap;color:{{ $r['style'] === 'permanent' ? 'rgba(252,165,165,.8)' : 'rgba(252,211,77,.8)' }}">{{ $r['label'] }}</span>
@if($r['remaining'] !== '')
<span style="font-size:10.5px;color:var(--mw-t4)">· {{ $r['remaining'] }}</span>
<span style="font-size:10.5px;color:var(--mw-t4);white-space:nowrap">{{ $r['remaining'] }}</span>
@endif
</div>
{{-- Button --}}
<button wire:click="unban('{{ $r['ip'] }}','{{ $r['jail'] }}')"
class="mbx-act-btn mbx-act-danger" title="Entbannen"
wire:confirm="IP {{ $r['ip'] }} aus {{ $r['jail'] }} entbannen?">