From 60c5e5d93d946b9d0b72a3d6edda2a206c4bc27e Mon Sep 17 00:00:00 2001 From: "Joseph.Rawlings" Date: Sat, 6 Dec 2025 08:45:03 -0500 Subject: [PATCH] refactor: switch server icon customization to use Remix Icon font - Added Remix Icon CDN CSS (remixicon@4.5.0) to layout - Replaced Heroicon components with Remix Icon font classes (ri-*) - Using dynamic icon class binding in Alpine.js for modal grid - Icon names updated to Remix format (e.g., server-line, github-line) - Added more icons including gaming, OS, and brand icons - Simplified icon rendering - no more individual template/x-if blocks --- .../Proxmox/views/components/layout.blade.php | 225 +++--------------- 1 file changed, 36 insertions(+), 189 deletions(-) diff --git a/extensions/Servers/Proxmox/views/components/layout.blade.php b/extensions/Servers/Proxmox/views/components/layout.blade.php index c4ff9521e..53440fc5f 100644 --- a/extensions/Servers/Proxmox/views/components/layout.blade.php +++ b/extensions/Servers/Proxmox/views/components/layout.blade.php @@ -6,6 +6,11 @@ 'statusPollingInterval' => '30s', ]) +{{-- Remix Icons for server icon customization --}} +@once + +@endonce + @php $vmStatus = optional($status)->status; $pollSuffix = $statusPollingInterval ? '.' . $statusPollingInterval : ''; @@ -49,93 +54,9 @@ @php $iconStyle = $server->user_set_icon_color ? 'color: ' . $server->user_set_icon_color : ''; @endphp - @switch($server->user_set_icon) - @case('server')@break - @case('server-stack')@break - @case('computer-desktop')@break - @case('cpu-chip')@break - @case('circle-stack')@break - @case('cloud')@break - @case('command-line')@break - @case('code-bracket')@break - @case('code-bracket-square')@break - @case('globe-alt')@break - @case('globe-americas')@break - @case('globe-europe-africa')@break - @case('globe-asia-australia')@break - @case('wifi')@break - @case('signal')@break - @case('shield-check')@break - @case('shield-exclamation')@break - @case('lock-closed')@break - @case('lock-open')@break - @case('key')@break - @case('rocket-launch')@break - @case('paper-airplane')@break - @case('bolt')@break - @case('fire')@break - @case('sparkles')@break - @case('star')@break - @case('heart')@break - @case('home')@break - @case('home-modern')@break - @case('building-office')@break - @case('building-office-2')@break - @case('building-storefront')@break - @case('cube')@break - @case('cube-transparent')@break - @case('archive-box')@break - @case('inbox')@break - @case('inbox-stack')@break - @case('folder')@break - @case('folder-open')@break - @case('cog-6-tooth')@break - @case('cog-8-tooth')@break - @case('wrench-screwdriver')@break - @case('wrench')@break - @case('beaker')@break - @case('bug-ant')@break - @case('puzzle-piece')@break - @case('chart-bar')@break - @case('chart-pie')@break - @case('presentation-chart-line')@break - @case('currency-dollar')@break - @case('currency-euro')@break - @case('banknotes')@break - @case('credit-card')@break - @case('user')@break - @case('user-circle')@break - @case('user-group')@break - @case('users')@break - @case('envelope')@break - @case('envelope-open')@break - @case('chat-bubble-left')@break - @case('chat-bubble-left-right')@break - @case('camera')@break - @case('video-camera')@break - @case('film')@break - @case('musical-note')@break - @case('book-open')@break - @case('document-text')@break - @case('sun')@break - @case('moon')@break - @case('swatch')@break - @case('paint-brush')@break - @case('trophy')@break - @case('academic-cap')@break - @case('light-bulb')@break - @case('finger-print')@break - @case('eye')@break - @case('map')@break - @case('map-pin')@break - @case('clock')@break - @case('calendar')@break - @case('gift')@break - @case('cake')@break - @default - @endswitch + @else - + @endif @@ -1006,22 +927,27 @@ selectedColor: @entangle('selectedIconColor'), searchQuery: '', icons: [ - 'server', 'server-stack', 'computer-desktop', 'cpu-chip', 'circle-stack', - 'cloud', 'command-line', 'code-bracket', 'code-bracket-square', - 'globe-alt', 'globe-americas', 'globe-europe-africa', 'globe-asia-australia', - 'wifi', 'signal', 'shield-check', 'shield-exclamation', 'lock-closed', 'lock-open', 'key', - 'rocket-launch', 'paper-airplane', 'bolt', 'fire', 'sparkles', 'star', 'heart', - 'home', 'home-modern', 'building-office', 'building-office-2', 'building-storefront', - 'cube', 'cube-transparent', 'archive-box', 'inbox', 'inbox-stack', 'folder', 'folder-open', - 'cog-6-tooth', 'cog-8-tooth', 'wrench-screwdriver', 'wrench', 'beaker', 'bug-ant', 'puzzle-piece', - 'chart-bar', 'chart-pie', 'presentation-chart-line', - 'currency-dollar', 'currency-euro', 'banknotes', 'credit-card', - 'user', 'user-circle', 'user-group', 'users', - 'envelope', 'envelope-open', 'chat-bubble-left', 'chat-bubble-left-right', - 'camera', 'video-camera', 'film', 'musical-note', - 'book-open', 'document-text', 'sun', 'moon', 'swatch', 'paint-brush', - 'trophy', 'academic-cap', 'light-bulb', 'finger-print', 'eye', - 'map', 'map-pin', 'clock', 'calendar', 'gift', 'cake' + 'server-line', 'database-2-line', 'computer-line', 'cpu-line', 'hard-drive-2-line', + 'cloud-line', 'terminal-box-line', 'code-s-slash-line', 'braces-line', + 'global-line', 'earth-line', 'wifi-line', 'signal-tower-line', + 'shield-check-line', 'shield-keyhole-line', 'lock-line', 'lock-unlock-line', 'key-2-line', + 'rocket-line', 'rocket-2-line', 'send-plane-line', 'flashlight-line', 'fire-line', + 'sparkling-line', 'star-line', 'heart-line', 'home-line', 'home-2-line', + 'building-line', 'building-2-line', 'store-line', 'box-3-line', 'archive-line', + 'inbox-line', 'inbox-2-line', 'folder-line', 'folder-open-line', + 'settings-3-line', 'settings-4-line', 'tools-line', 'hammer-line', + 'flask-line', 'bug-line', 'puzzle-line', 'bar-chart-box-line', 'pie-chart-line', + 'line-chart-line', 'money-dollar-circle-line', 'money-euro-circle-line', + 'bank-card-line', 'wallet-line', 'user-line', 'user-3-line', 'group-line', 'team-line', + 'mail-line', 'mail-open-line', 'chat-3-line', 'discuss-line', + 'camera-line', 'vidicon-line', 'film-line', 'music-line', + 'book-open-line', 'file-text-line', 'sun-line', 'moon-line', + 'palette-line', 'brush-line', 'trophy-line', 'graduation-cap-line', + 'lightbulb-line', 'fingerprint-line', 'eye-line', 'map-2-line', 'map-pin-line', + 'time-line', 'calendar-line', 'gift-line', 'cake-2-line', + 'gamepad-line', 'ghost-line', 'aliens-line', 'space-ship-line', + 'android-line', 'apple-line', 'windows-line', 'ubuntu-line', + 'github-line', 'gitlab-line', 'discord-line', 'slack-line' ], colors: [ '', '#ef4444', '#f97316', '#f59e0b', '#eab308', '#84cc16', '#22c55e', '#10b981', @@ -1063,7 +989,7 @@

Customize Server Icon

@@ -1079,12 +1005,12 @@
@@ -1117,88 +1043,9 @@ class="aspect-square rounded-lg border flex items-center justify-center transition-all duration-150 hover:bg-background hover:border-primary/50" :class="selectedIcon === icon ? 'bg-primary/10 border-primary ring-2 ring-primary/30' : 'border-neutral'" :data-icon-preview="icon"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +