diff --git a/extensions/Servers/Proxmox/Livewire/Overview.php b/extensions/Servers/Proxmox/Livewire/Overview.php
index 0ee3cc31d..78397b16b 100644
--- a/extensions/Servers/Proxmox/Livewire/Overview.php
+++ b/extensions/Servers/Proxmox/Livewire/Overview.php
@@ -22,8 +22,10 @@ class Overview extends Component
public $isEditingPassword = false;
public $passwordError = '';
- // Legacy property - kept to prevent errors for users with stale Livewire state
+ // Server icon customization
public bool $showIconModal = false;
+ public string $selectedIcon = '';
+ public string $selectedIconColor = '';
public string $cpuTimeRange = 'hour';
public string $cpuAggregation = 'average';
@@ -51,6 +53,10 @@ class Overview extends Component
$this->hostname = $server->hostname ?? ($this->status->name ?? '');
+ // Load icon customization
+ $this->selectedIcon = $server->user_set_icon ?? '';
+ $this->selectedIconColor = $server->user_set_icon_color ?? '';
+
// Load notes from Proxmox VM description
try {
$proxmox = new Proxmox;
@@ -61,6 +67,44 @@ class Overview extends Component
}
}
+ public function openIconModal(): void
+ {
+ $this->showIconModal = true;
+ }
+
+ public function closeIconModal(): void
+ {
+ $this->showIconModal = false;
+ }
+
+ public function saveIcon(string $icon, string $color): void
+ {
+ $this->server->update([
+ 'user_set_icon' => $icon ?: null,
+ 'user_set_icon_color' => $color ?: null,
+ ]);
+
+ $this->selectedIcon = $icon;
+ $this->selectedIconColor = $color;
+ $this->showIconModal = false;
+
+ $this->notify('Server icon updated successfully', 'success');
+ }
+
+ public function resetIcon(): void
+ {
+ $this->server->update([
+ 'user_set_icon' => null,
+ 'user_set_icon_color' => null,
+ ]);
+
+ $this->selectedIcon = '';
+ $this->selectedIconColor = '';
+ $this->showIconModal = false;
+
+ $this->notify('Server icon reset to default', 'success');
+ }
+
public function checkStatus()
{
$currentStatus = $this->status->status;
diff --git a/extensions/Servers/Proxmox/Models/Server.php b/extensions/Servers/Proxmox/Models/Server.php
index 9dc1b3c62..508534ae6 100644
--- a/extensions/Servers/Proxmox/Models/Server.php
+++ b/extensions/Servers/Proxmox/Models/Server.php
@@ -20,6 +20,8 @@ class Server extends Model
'status',
'hostname',
'password',
+ 'user_set_icon',
+ 'user_set_icon_color',
];
public function node()
diff --git a/extensions/Servers/Proxmox/views/components/layout.blade.php b/extensions/Servers/Proxmox/views/components/layout.blade.php
index 74edf9834..3b0b5d56d 100644
--- a/extensions/Servers/Proxmox/views/components/layout.blade.php
+++ b/extensions/Servers/Proxmox/views/components/layout.blade.php
@@ -38,9 +38,149 @@
@endphp
-
- {{ $server->hostname }}
-
+
+
+
+
+ {{ $server->hostname }}
+
+
@@ -897,6 +1037,282 @@
+
+ @if($view === 'overview')
+
+
+
+
+
+
+
+
+
+
+
Customize Server Icon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
No icons match your search
+
+
+
+
+
+
+ Cancel
+
+ Save Icon
+
+
+
+
+
+
+ @endif
+
@else
@php
$statuses = [