From b6987ab1e850e2f4ecc375f93184e4c00ed05d70 Mon Sep 17 00:00:00 2001 From: "Joseph.Rawlings" Date: Sat, 6 Dec 2025 10:06:09 -0500 Subject: [PATCH] feat: implement server icon customization with AJAX support --- app/Http/Controllers/ServerIconController.php | 42 ++++++ .../Http/Controllers/ServerIconController.php | 39 ++++++ .../Servers/Proxmox/views/overview.blade.php | 121 ++++++++++++++++++ routes/web.php | 7 + 4 files changed, 209 insertions(+) create mode 100644 app/Http/Controllers/ServerIconController.php create mode 100644 extensions/Servers/Proxmox/Http/Controllers/ServerIconController.php diff --git a/app/Http/Controllers/ServerIconController.php b/app/Http/Controllers/ServerIconController.php new file mode 100644 index 000000000..208678b71 --- /dev/null +++ b/app/Http/Controllers/ServerIconController.php @@ -0,0 +1,42 @@ +validate([ + 'icon' => 'nullable|string|max:64', + 'color' => 'nullable|string|max:32', + ]); + + $server = Server::where('id', $serverId) + ->where('user_id', Auth::id()) + ->firstOrFail(); + + $server->user_set_icon = $request->input('icon'); + $server->user_set_icon_color = $request->input('color'); + $server->save(); + + return response()->json(['success' => true]); + } + + // Get the icon and color for a server + public function show($serverId) + { + $server = Server::where('id', $serverId) + ->where('user_id', Auth::id()) + ->firstOrFail(); + + return response()->json([ + 'icon' => $server->user_set_icon, + 'color' => $server->user_set_icon_color, + ]); + } +} diff --git a/extensions/Servers/Proxmox/Http/Controllers/ServerIconController.php b/extensions/Servers/Proxmox/Http/Controllers/ServerIconController.php new file mode 100644 index 000000000..dcaa896e9 --- /dev/null +++ b/extensions/Servers/Proxmox/Http/Controllers/ServerIconController.php @@ -0,0 +1,39 @@ +validate([ + 'icon' => 'nullable|string|max:64', + 'color' => 'nullable|string|max:32', + ]); + + $server = Server::where('id', $serverId) + ->where('user_id', Auth::id()) + ->firstOrFail(); + + $server->user_set_icon = $request->input('icon'); + $server->user_set_icon_color = $request->input('color'); + $server->save(); + + return response()->json(['success' => true]); + } + + public function get($serverId) + { + $server = Server::where('id', $serverId) + ->where('user_id', Auth::id()) + ->firstOrFail(); + return response()->json([ + 'icon' => $server->user_set_icon, + 'color' => $server->user_set_icon_color, + ]); + } +} diff --git a/extensions/Servers/Proxmox/views/overview.blade.php b/extensions/Servers/Proxmox/views/overview.blade.php index c88f31bff..f592aa81a 100644 --- a/extensions/Servers/Proxmox/views/overview.blade.php +++ b/extensions/Servers/Proxmox/views/overview.blade.php @@ -75,6 +75,127 @@

Server Details

+ +
+ + +
+
+ +

Customize Server Icon

+
+
+ + +
+ +
+
+ +
+
+ +
+
+ + +
+ +
+
+
+