diff --git a/extensions/Servers/Proxmox/views/firewall.blade.php b/extensions/Servers/Proxmox/views/firewall.blade.php index 34bf8530a..f026b5842 100644 --- a/extensions/Servers/Proxmox/views/firewall.blade.php +++ b/extensions/Servers/Proxmox/views/firewall.blade.php @@ -133,6 +133,54 @@ .fw-toggle input:checked + .fw-toggle-slider { animation: fw-toggle-pulse 2s infinite ease-in-out; } + + /* Small Toggle for Network Adapters */ + .fw-toggle-sm { + position: relative; + width: 44px; + height: 24px; + cursor: pointer; + flex-shrink: 0; + } + .fw-toggle-sm input { + opacity: 0; + width: 0; + height: 0; + } + .fw-toggle-slider-sm { + position: absolute; + inset: 0; + background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%); + border-radius: 24px; + transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + box-shadow: inset 0 1px 3px rgba(0,0,0,0.2), 0 1px 6px rgba(220, 38, 38, 0.3); + } + .fw-toggle-slider-sm::before { + content: ''; + position: absolute; + width: 18px; + height: 18px; + left: 3px; + bottom: 3px; + background: linear-gradient(135deg, #ffffff 0%, #f3f4f6 100%); + border-radius: 50%; + transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + box-shadow: 0 1px 6px rgba(0,0,0,0.2); + } + .fw-toggle-sm input:checked + .fw-toggle-slider-sm { + background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); + box-shadow: inset 0 1px 3px rgba(0,0,0,0.2), 0 1px 6px rgba(34, 197, 94, 0.3); + } + .fw-toggle-sm input:checked + .fw-toggle-slider-sm::before { + transform: translateX(20px); + } + .fw-toggle-sm:hover .fw-toggle-slider-sm { + filter: brightness(1.1); + } + .fw-toggle-sm input:disabled + .fw-toggle-slider-sm { + opacity: 0.6; + cursor: not-allowed; + }
@@ -312,30 +360,23 @@ @endif
-
- @if($adapterFirewallStates[$adapter['name']] ?? false) - + + {{ ($adapterFirewallStates[$adapter['name']] ?? false) ? 'On' : 'Off' }} + + - @else - - Enable - ... - - @endif + {{ ($adapterFirewallStates[$adapter['name']] ?? false) ? 'checked' : '' }} + > + + + + +
@endforeach