performance updates

This commit is contained in:
Mark Gregory
2026-09-03 09:45:39 +01:00
parent aa604d701e
commit be84b1a791
4 changed files with 29 additions and 21 deletions
+26 -18
View File
@@ -11,35 +11,43 @@
<title>{{ filled($title ?? null) ? $title.' - '.config('app.name', 'Laravel') : config('app.name', 'Laravel') }}</title>
@fonts
@php
// Guest/authentication pages only need the shared theme stylesheet. Loading
// every enabled module here made /login download each module's CSS/JS even
// though none of those assets are used on the authentication screen.
$loadModuleAssets = $loadModuleAssets ?? auth()->check();
$loadLayoutAssets = $loadLayoutAssets ?? auth()->check();
$backendCssEntry = is_file(resource_path('themes/backend/assets/css/app.css'))
? 'resources/themes/backend/assets/css/app.css'
: 'resources/themes/backend/assets/css/helpdesk.css';
$viteAssets = [
$backendCssEntry,
'resources/themes/backend/assets/js/passkeys.js',
'resources/themes/backend/assets/js/layout.js',
];
$viteAssets = [$backendCssEntry];
$moduleStatuses = [];
$moduleStatusFile = base_path('modules_statuses.json');
if (is_file($moduleStatusFile)) {
$moduleStatuses = json_decode((string) file_get_contents($moduleStatusFile), true) ?: [];
if ($loadLayoutAssets) {
$viteAssets[] = 'resources/themes/backend/assets/js/layout.js';
}
foreach (glob(base_path('Modules/*'), GLOB_ONLYDIR) ?: [] as $moduleDirectory) {
$moduleName = basename($moduleDirectory);
if ($loadModuleAssets) {
$moduleStatuses = [];
$moduleStatusFile = base_path('modules_statuses.json');
if (array_key_exists($moduleName, $moduleStatuses) && ! $moduleStatuses[$moduleName]) {
continue;
if (is_file($moduleStatusFile)) {
$moduleStatuses = json_decode((string) file_get_contents($moduleStatusFile), true) ?: [];
}
foreach (['Resources/assets/css/app.css', 'Resources/assets/js/app.js'] as $entry) {
$absoluteEntry = $moduleDirectory.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $entry);
foreach (glob(base_path('Modules/*'), GLOB_ONLYDIR) ?: [] as $moduleDirectory) {
$moduleName = basename($moduleDirectory);
if (is_file($absoluteEntry)) {
$viteAssets[] = str_replace('\\', '/', substr($absoluteEntry, strlen(base_path()) + 1));
if (array_key_exists($moduleName, $moduleStatuses) && ! $moduleStatuses[$moduleName]) {
continue;
}
foreach (['Resources/assets/css/app.css', 'Resources/assets/js/app.js'] as $entry) {
$absoluteEntry = $moduleDirectory.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $entry);
if (is_file($absoluteEntry)) {
$viteAssets[] = str_replace('\\', '/', substr($absoluteEntry, strlen(base_path()) + 1));
}
}
}
}