Enhance Proxmox views with improved loading states and UI updates
- Updated serverplaceholder.blade.php to enhance loading skeletons for server details. - Added navigation breadcrumbs to statistics, subdomain, and system views for better user experience. - Improved loading indicators for CPU, network, memory, and disk charts in statistics.blade.php. - Refined storage.blade.php layout with section dividers and improved drive display, including bus type indicators and quota usage. - Enhanced VNC and Xterm popups with a new header design, loading animations, and reconnect functionality. - Added error handling for VNC and Xterm connections to inform users when unable to connect.
This commit is contained in:
@@ -155,7 +155,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Section Divider -->
|
||||
<div class="border-t border-neutral/20 my-2"></div>
|
||||
|
||||
<div class="bg-background-secondary border border-neutral rounded-lg p-4 mb-6"
|
||||
x-data="{ isAdvancedView: localStorage.getItem('proxmox-view-mode') === 'advanced' }"
|
||||
@@ -253,7 +254,7 @@
|
||||
<td class="px-4 py-3">
|
||||
<select wire:model.live="interfaceSelections.{{ $name }}"
|
||||
wire:change="queueInterfaceChange('{{ $name }}')"
|
||||
class="bg-background border border-neutral rounded-md px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-secondary w-full">
|
||||
class="bg-background border border-neutral rounded-md px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors w-full">
|
||||
@foreach($interfaceTypeOptions as $value => $label)
|
||||
<option value="{{ $value }}">{{ $label }}</option>
|
||||
@endforeach
|
||||
@@ -276,7 +277,7 @@
|
||||
@keydown.enter="updateQueues()"
|
||||
min="1"
|
||||
:max="maxQueues"
|
||||
class="bg-background border border-neutral rounded-md px-3 py-2 text-sm text-center focus:outline-none focus:ring-2 focus:ring-secondary w-20"
|
||||
class="bg-background border border-neutral rounded-md px-3 py-2 text-sm text-center focus:outline-none focus:ring-2 focus:ring-primary/25 focus:border-primary transition-colors w-20"
|
||||
:title="'Number of queues (1-' + maxQueues + ')'">
|
||||
</div>
|
||||
</td>
|
||||
@@ -463,39 +464,39 @@
|
||||
@endphp
|
||||
@if($isPublic)
|
||||
<div class="network-tools-column flex flex-col gap-2 relative min-w-0 @if($guestInterface) network-tools-with-details @endif">
|
||||
<h4 class="text-sm font-semibold text-base/70"></h4>
|
||||
<h4 class="text-sm font-semibold text-base/70">{{ $isIpv6 ? 'IPv6 Tools' : 'IPv4 Tools' }}</h4>
|
||||
<div class="flex-1"></div>
|
||||
<div class="flex gap-2 justify-end mt-auto">
|
||||
@if($isIpv6)
|
||||
<x-button.primary
|
||||
onclick="window.open('https://ping6.ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
Ping
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://mtr6.ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
MTR
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://bgp.ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
BGP
|
||||
</x-button.primary>
|
||||
@else
|
||||
<x-button.primary
|
||||
onclick="window.open('https://ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
Ping
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://mtr.ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
MTR
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://bgp.ping.pe/{{ $network->ip }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
BGP
|
||||
</x-button.primary>
|
||||
@endif
|
||||
@@ -743,39 +744,39 @@
|
||||
@endphp
|
||||
@if($isPublic)
|
||||
<div class="network-tools-column flex flex-col gap-2 relative min-w-0 @if($hasInterface) network-tools-with-details @endif">
|
||||
|
||||
<h4 class="text-sm font-semibold text-base/70">{{ $isIpv6 ? 'IPv6 Tools' : 'IPv4 Tools' }}</h4>
|
||||
<div class="flex-1"></div>
|
||||
<div class="flex gap-2 justify-end mt-auto">
|
||||
@if($isIpv6)
|
||||
<x-button.primary
|
||||
onclick="window.open('https://ping6.ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
Ping
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://mtr6.ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
MTR
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://bgp.ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
BGP
|
||||
</x-button.primary>
|
||||
@else
|
||||
<x-button.primary
|
||||
onclick="window.open('https://ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
Ping
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://mtr.ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
MTR
|
||||
</x-button.primary>
|
||||
<x-button.primary
|
||||
onclick="window.open('https://bgp.ping.pe/{{ $address['ip'] }}', '_blank')"
|
||||
class="text-xs">
|
||||
class="text-xs hover:scale-105 hover:shadow-md transition-all duration-200">
|
||||
BGP
|
||||
</x-button.primary>
|
||||
@endif
|
||||
|
||||
Reference in New Issue
Block a user