feat: make noVNC and xterm.js console links open in minimal popup windows
This commit is contained in:
@@ -17,6 +17,8 @@ use Paymenter\Extensions\Servers\Proxmox\Livewire\VNC;
|
||||
use Paymenter\Extensions\Servers\Proxmox\Livewire\XTerm;
|
||||
use Paymenter\Extensions\Servers\Proxmox\Livewire\Help;
|
||||
use Paymenter\Extensions\Servers\Proxmox\Livewire\Statistics;
|
||||
use Paymenter\Extensions\Servers\Proxmox\Models\Server;
|
||||
use Paymenter\Extensions\Servers\Proxmox\Proxmox;
|
||||
|
||||
Route::group([
|
||||
'prefix' => 'servers',
|
||||
@@ -39,4 +41,27 @@ Route::group([
|
||||
Route::get('{server}/vnc', VNC::class)->name('server.vnc');
|
||||
Route::get('{server}/xterm', XTerm::class)->name('server.xterm');
|
||||
Route::get('{server}/help', Help::class)->name('server.help');
|
||||
|
||||
// Popup console routes (minimal layout for popup windows)
|
||||
Route::get('{server}/vnc-popup', function (Server $server) {
|
||||
if (!$server->node->vnc_enabled) {
|
||||
abort(403, 'VNC is not enabled on this server node.');
|
||||
}
|
||||
$proxmox = new Proxmox;
|
||||
return view('proxmox::vnc-popup', [
|
||||
'server' => $server,
|
||||
'vnc' => $proxmox->vnc($server),
|
||||
]);
|
||||
})->name('server.vnc-popup');
|
||||
|
||||
Route::get('{server}/xterm-popup', function (Server $server) {
|
||||
if (!$server->node->vnc_enabled) {
|
||||
abort(403, 'Console access is not enabled on this server node.');
|
||||
}
|
||||
$proxmox = new Proxmox;
|
||||
return view('proxmox::xterm-popup', [
|
||||
'server' => $server,
|
||||
'xterm' => $proxmox->xterm($server),
|
||||
]);
|
||||
})->name('server.xterm-popup');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user