@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
{{-- Action Buttons --}}
@if($module['has_update'])
@endif
@if($module['enabled'])
@else
@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
@endforeach
@endif
{{-- Remove Confirmation Dialog (Alpine.js) --}}
{{ __('modules.confirm_remove_title') }}
{{ __('modules.confirm_remove') }}