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

@@ -135,7 +135,7 @@
</x-form.select>
</div>
@endif
@if(Auth::check() && Auth::user()->credits()->where('currency_code', Cart::get()->first()->price->currency->code)->exists() && Auth::user()->credits()->where('currency_code', Cart::get()->first()->price->currency->code)->first()->amount > 0)
@if(Auth::check() && Cart::get()->isNotEmpty() && Auth::user()->credits()->where('currency_code', Cart::get()->first()->price->currency->code)->exists() && Auth::user()->credits()->where('currency_code', Cart::get()->first()->price->currency->code)->first()->amount > 0)
<div class="mb-5">
<x-form.checkbox wire:model="use_credits" name="use_credits" label="{{ __('product.use_credits') }}" />
</div>

View File

@@ -271,7 +271,7 @@
</a>
{{-- Profile --}}
<a href="account"
<a href="{{ route('account') }}"
class="group bg-gradient-to-r from-blue-500 to-blue-600 hover:from-blue-600 hover:to-blue-700 text-white p-3 rounded-xl shadow-lg transform transition-all duration-300 hover:translate-x-1">
<div class="flex items-center gap-3">
<div class="bg-white/20 p-1.5 rounded-full">

View File

@@ -269,7 +269,7 @@
<div class="relative z-10 w-full flex flex-grow">
@if (isset($sidebar) && $sidebar)
<x-navigation.sidebar title="$title" />
<x-navigation.sidebar :title="$title ?? ''" />
@endif
<div class="{{ (isset($sidebar) && $sidebar) ? 'md:ml-64 rtl:ml-0 rtl:md:mr-64' : '' }} flex flex-col flex-grow overflow-auto">

View File

@@ -28,7 +28,7 @@
</span>
<p class="text-color-muted text-sm mt-1">
{{ __('ticket.last_activity') }}:
{{ $ticket->messages()->orderBy('created_at', 'desc')->first()->created_at->diffForHumans() }}
{{ $ticket->messages()->orderBy('created_at', 'desc')->first()?->created_at?->diffForHumans() ?? __('ticket.no_messages') }}
@if($ticket->department)
<span class="hidden md:inline"> - {{ $ticket->department }}</span>
@endif

View File

@@ -25,7 +25,7 @@
</div>
<p class="text-base text-sm">
{{ __('ticket.last_activity') }}
{{ $ticket->messages()->orderBy('created_at', 'desc')->first()->created_at->diffForHumans() }}
{{ $ticket->messages()->orderBy('created_at', 'desc')->first()?->created_at?->diffForHumans() ?? __('ticket.no_messages') }}
{{ $ticket->department ? ' - ' . $ticket->department : '' }}
</p>
</div>