{{ __('modules.page_title') }}
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($catalogError)
{{ __('modules.catalog_error_notice') }}: {{ $catalogError }}
@endif @php $installedModules = collect($modules)->filter(fn($m) => $m['installed']); $availableModules = collect($modules)->filter(fn($m) => !$m['installed']); @endphp {{-- Installed Modules --}}

{{ __('modules.section_installed') }}

@if($installedModules->isEmpty())

{{ __('modules.no_installed') }}

@else
@foreach($installedModules as $slug => $module)
{{-- Module Icon/Image --}}
@if(!empty($module['image'])) @else
@endif
{{-- Module Info --}}

{{ $module['name'] }}

@if($module['is_orphan']) {{ __('modules.orphan_badge') }} @endif

{{ $module['description'] }}

v{{ $module['installed_version'] }} @if($module['enabled']) {{ __('modules.status_enabled') }} @else {{ __('modules.status_disabled') }} @endif @if($module['has_update']) {{ __('modules.update_available', ['version' => $module['catalog_version']]) }} @endif @if(!empty($module['category'])) {{ $module['category'] }} @endif
@if(!empty($module['requires_permissions']))
@foreach($module['requires_permissions'] as $permission) {{ $permission }} @endforeach
@endif
{{-- Action Buttons --}}
@if($module['has_update'])
@csrf
@endif @if($module['enabled'])
@csrf
@else
@csrf
@endif
@endforeach
@endif
{{-- Available Modules --}}

{{ __('modules.section_available') }}

@if($availableModules->isEmpty())

{{ __('modules.no_available') }}

@else
@foreach($availableModules as $slug => $module)
{{-- Module Icon/Image --}}
@if(!empty($module['image'])) @else
@endif

{{ $module['name'] }}

{{ $module['description'] }}

@if($module['catalog_version']) v{{ $module['catalog_version'] }} @endif @if(!empty($module['category'])) {{ $module['category'] }} @endif
@if(!empty($module['requires_permissions']))
@foreach($module['requires_permissions'] as $permission) {{ $permission }} @endforeach
@endif
@csrf
@endforeach
@endif
{{-- Remove Confirmation Dialog (Alpine.js) --}}

{{ __('modules.confirm_remove_title') }}

{{ __('modules.confirm_remove') }}

@csrf @method('DELETE')