diff --git a/extensions/Servers/Proxmox/views/firewall.blade.php b/extensions/Servers/Proxmox/views/firewall.blade.php index db89cc003..a9650515f 100644 --- a/extensions/Servers/Proxmox/views/firewall.blade.php +++ b/extensions/Servers/Proxmox/views/firewall.blade.php @@ -77,6 +77,150 @@ .firewall-log-search-input { padding-left: 2.75rem !important; } + + /* Firewall Log Filter Buttons */ + .firewall-filter-label { + font-size: 0.65rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgba(var(--color-base), 0.5); + margin-right: 0.25rem; + } + + .firewall-filter-btn { + display: inline-flex; + align-items: center; + gap: 0.375rem; + padding: 0.375rem 0.75rem; + font-size: 0.75rem; + font-weight: 500; + border-radius: 0.5rem; + border: 1px solid rgba(var(--color-neutral), 1); + background-color: rgba(var(--color-background), 1); + color: rgba(var(--color-base), 0.7); + cursor: pointer; + transition: all 0.15s ease; + } + + .firewall-filter-btn:hover { + border-color: rgba(var(--color-primary), 0.5); + color: rgba(var(--color-base), 1); + } + + .firewall-filter-btn-count { + padding: 0.125rem 0.375rem; + border-radius: 0.25rem; + font-size: 0.625rem; + font-weight: 700; + background-color: rgba(var(--color-base), 0.1); + } + + /* Active states for Policy filters */ + .firewall-filter-btn.active-all { + background-color: rgba(var(--color-primary), 1); + border-color: rgba(var(--color-primary), 1); + color: white; + } + .firewall-filter-btn.active-all .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + + .firewall-filter-btn.active-blocked { + background-color: #ef4444; + border-color: #ef4444; + color: white; + } + .firewall-filter-btn.active-blocked .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + .firewall-filter-btn:not(.active-blocked) .firewall-filter-btn-count.count-blocked { + background-color: rgba(239, 68, 68, 0.1); + color: #ef4444; + } + + .firewall-filter-btn.active-allowed { + background-color: #22c55e; + border-color: #22c55e; + color: white; + } + .firewall-filter-btn.active-allowed .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + .firewall-filter-btn:not(.active-allowed) .firewall-filter-btn-count.count-allowed { + background-color: rgba(34, 197, 94, 0.1); + color: #22c55e; + } + + /* Active states for Protocol filters */ + .firewall-filter-btn.active-proto-all { + background-color: rgba(var(--color-secondary), 1); + border-color: rgba(var(--color-secondary), 1); + color: white; + } + .firewall-filter-btn.active-proto-all .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + + .firewall-filter-btn.active-tcp { + background-color: #3b82f6; + border-color: #3b82f6; + color: white; + } + .firewall-filter-btn.active-tcp .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + .firewall-filter-btn:not(.active-tcp) .firewall-filter-btn-count.count-tcp { + background-color: rgba(59, 130, 246, 0.1); + color: #3b82f6; + } + + .firewall-filter-btn.active-udp { + background-color: #f59e0b; + border-color: #f59e0b; + color: white; + } + .firewall-filter-btn.active-udp .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + .firewall-filter-btn:not(.active-udp) .firewall-filter-btn-count.count-udp { + background-color: rgba(245, 158, 11, 0.1); + color: #f59e0b; + } + + .firewall-filter-btn.active-icmp { + background-color: #a855f7; + border-color: #a855f7; + color: white; + } + .firewall-filter-btn.active-icmp .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + .firewall-filter-btn:not(.active-icmp) .firewall-filter-btn-count.count-icmp { + background-color: rgba(168, 85, 247, 0.1); + color: #a855f7; + } + + .firewall-filter-btn.active-other { + background-color: rgba(var(--color-base), 0.7); + border-color: rgba(var(--color-base), 0.7); + color: white; + } + .firewall-filter-btn.active-other .firewall-filter-btn-count { + background-color: rgba(255, 255, 255, 0.2); + } + + .firewall-filter-row { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.5rem; + } + + .firewall-filter-divider { + padding-top: 0.5rem; + border-top: 1px solid rgba(var(--color-neutral), 0.3); + }
@@ -513,109 +657,110 @@ class="space-y-4" > -
+
-
- Policy: +
+ Policy:
-
- Protocol: +
+ Protocol:
-
-
- +
+
+
-
-
- Showing - - of - +
+
+ Showing + + of +
-
- Page - - / - +
+ Page + + / +