feat: Update Proxmox extension with various improvements and bug fixes

- Change listStates method to accept nullable integer for limit parameter.
- Modify TechnitiumDns class to return structured error messages on failure.
- Enhance VNC and xterm popup routes with user authorization checks.
- Update backups view to improve loading states and add unique keys for dynamic elements.
- Refactor cloud-init view to ensure proper data binding and improve user experience.
- Add wire:key attributes to various elements in views for better Livewire performance.
- Improve error handling and user feedback in the firewall view.
- Update server overview and statistics views to handle potential null values gracefully.
- Add new migration files to extend database schema with user-set icons and notes for Proxmox nodes.
This commit is contained in:
2026-02-23 17:23:01 -05:00
parent 9aff64be93
commit f394483daa
48 changed files with 442 additions and 268 deletions

View File

@@ -87,7 +87,7 @@
<tbody class="divide-y divide-neutral/20 text-base text-base/80">
@forelse($backups as $backup)
@php $backup = (object) $backup; @endphp
<tr class="hover:bg-background/60 transition-colors">
<tr wire:key="backup-{{ $backup->volid }}" class="hover:bg-background/60 transition-colors">
<td class="px-4 py-4 align-middle">
<p class="font-semibold text-base/90 break-words">{{ $backup->notes ?: '—' }}</p>
</td>
@@ -141,7 +141,7 @@
<div class="flex flex-row gap-4 mt-4">
<x-button.secondary wire:click="$set('showRestore', false)">Cancel</x-button.secondary>
<x-button.primary wire:click="restoreBackup" wire:loading.attr="disabled" wire:loading.class="opacity-50"
wire:loading.attr="aria-busy" wire:target="restoreBackup">
wire:target="restoreBackup">
<x-loading target="restoreBackup" />
<div wire:loading.remove wire:target="restoreBackup">
Restore
@@ -164,7 +164,7 @@
<div class="flex flex-row gap-4 mt-4">
<x-button.secondary wire:click="$set('showDelete', false)">Cancel</x-button.secondary>
<x-button.danger wire:click="deleteBackup" wire:loading.attr="disabled" wire:loading.class="opacity-50"
wire:loading.attr="aria-busy" wire:target="deleteBackup">
wire:target="deleteBackup">
<x-loading target="deleteBackup" />
<div wire:loading.remove wire:target="deleteBackup">
Delete Backup