@extends('layouts.app') @section('title','Módulos — '.config('app.name')) @section('content')
Extensiones controladas

Módulos

Carga paquetes ZIP de AcademyCore, revisa su información y conserva cada archivo en almacenamiento privado.

Módulos cargados{{ number_format($moduleStats['total']) }}paquetes disponibles
Almacenamiento{{ number_format($moduleStats['storage'] / 1048576, 1) }} MBocupación de paquetes ZIP
Actualizaciones{{ number_format($moduleStats['updates']) }}paquetes preparados
Última carga{{ $moduleStats['latest']?->translatedFormat('d M') ?? '—' }}{{ $moduleStats['latest']?->diffForHumans() ?? 'Aún sin cargas' }}
Biblioteca de módulos

Paquetes registrados

Consulta la versión, autor y archivo original de cada módulo.

{{ $modules->total() }}
@forelse($modules as $module)
{{ mb_strtoupper(mb_substr($module->name, 0, 1)) }}
{{ $module->name }}v{{ $module->version }} · {{ $module->slug }}
Preparado
@if($module->description)

{{ $module->description }}

@endif
{{ $module->author ?: 'Autor no indicado' }}{{ number_format($module->file_size / 1048576, 2) }} MB · {{ $module->created_at->translatedFormat('d M Y, H:i') }}Subido por {{ $module->installedBy?->name ?? 'Usuario eliminado' }}
Descargar ZIP
@csrf @method('DELETE')
@empty
Aún no hay módulos cargadosAdjunta el primer archivo ZIP para crear tu biblioteca de extensiones.
@endforelse
@if($modules->hasPages())
{{ $modules->links() }}
@endif
Administración técnica

Actualizaciones del sistema

Carga versiones oficiales de AcademyCore sin mezclarlas con los módulos funcionales.

Versión instalada v{{ config('app.version','1.0.0') }}
Paquetes validados

Historial de actualizaciones

{{ $systemUpdates->count() }} registradas
@forelse($systemUpdates as $update)
v{{ $update->version }}
{{ $update->name }}

{{ $update->description ?: 'Paquete listo para revisión técnica.' }}

SHA-256 {{ Str::limit($update->checksum, 24) }} · {{ number_format($update->file_size / 1048576, 2) }} MB · {{ $update->created_at->translatedFormat('d M Y, H:i') }}
Preparada
Descargar
@csrf @method('DELETE')
@empty
No hay actualizaciones cargadasLos paquetes validados aparecerán aquí con su versión y huella SHA-256.
@endforelse
@endsection