@extends('admin.layouts.app') @section('title', $title) @section('content')
{{-- Header --}}

Module Manager

Install, activate, and manage your SaaS modules.
{{-- Unregistered modules found on the filesystem --}} @if($unregistered->isNotEmpty())
Modules found on filesystem
The following module(s) were found in the modules/ directory but are not registered in the database. Click Register to add them so you can activate them.
@foreach($unregistered as $mod) @endforeach
Module Version Author
{{ $mod['name'] ?? $mod['slug'] }} @if(!empty($mod['description']))
{{ $mod['description'] }} @endif
{{ $mod['version'] ?? '—' }} {{ $mod['author'] ?? '—' }}
@csrf
@endif {{-- No modules state --}} @if($modules->isEmpty())

No modules installed yet.

Upload a module .zip to get started.

@else
{{-- Module --}} {{-- Version --}} {{-- Installed --}} {{-- Status --}} {{-- Actions --}} {{-- Update --}} @foreach($modules as $module) {{-- Update cell — populated by JS after check --}} @endforeach
Module Version Installed Status Actions Update
{{ $module->name }}
@if($module->description)
{{ $module->description }}
@endif @if($module->author)
by {{ $module->author }}
@endif
{{ $module->version }} {{ $module->installed_at?->diffForHumans() ?? '—' }} @if($module->isActive()) Active @else Inactive @endif
@if($module->isActive())
@csrf @method('PATCH')
@else @php $requires = $module->meta['module_requires'] ?? []; $activeSlugs = $modules->where('status', 'active')->pluck('slug')->all(); $missingDeps = array_filter((array) $requires, fn ($s) => ! in_array($s, $activeSlugs)); @endphp @if(! empty($missingDeps)) @else
@csrf @method('PATCH')
@endif
@csrf @method('DELETE')
@endif
@endif
{{-- Upload Module Modal --}} {{-- Reinstall Module Modal --}} @push('scripts') @endpush @endsection