From 9036b3f387ca55d679697c7cf77e72b87791bd14 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Fri, 24 Jul 2026 14:48:13 +0100 Subject: [PATCH] dashboard update --- .../Http/Controllers/DashboardController.php | 2 +- .../Resources/views/dashboard.blade.php | 44 ------------ Modules/Administration/Routes/web.php | 2 - .../Feature/AdministrationModuleTest.php | 12 ++++ .../themes/admin/views/dashboard.blade.php | 68 +++++++++++++++---- .../components/layouts/app/sidebar.blade.php | 2 +- routes/web.php | 6 +- 7 files changed, 71 insertions(+), 65 deletions(-) delete mode 100644 Modules/Administration/Resources/views/dashboard.blade.php diff --git a/Modules/Administration/Http/Controllers/DashboardController.php b/Modules/Administration/Http/Controllers/DashboardController.php index 118ebf7..2a9765e 100644 --- a/Modules/Administration/Http/Controllers/DashboardController.php +++ b/Modules/Administration/Http/Controllers/DashboardController.php @@ -13,7 +13,7 @@ final class DashboardController extends Controller { public function __invoke() { - return view('administration::dashboard', [ + return view('stylist-theme-admin::dashboard', [ 'userCount' => User::count(), 'roleCount' => Schema::hasTable('roles') ? Role::count() : 0, 'mediaCount' => Schema::hasTable('media') ? Media::count() : 0, diff --git a/Modules/Administration/Resources/views/dashboard.blade.php b/Modules/Administration/Resources/views/dashboard.blade.php deleted file mode 100644 index cd63f87..0000000 --- a/Modules/Administration/Resources/views/dashboard.blade.php +++ /dev/null @@ -1,44 +0,0 @@ - -
-

Administration

-

Platform health and recent activity.

-
- @foreach([['Users',$userCount,'users'],['Roles',$roleCount,'shield-check'],['Media',$mediaCount,'photo'],['Audit events',$auditCount,'clipboard-document-list']] as [$label,$count,$icon]) -
- -
{{ $count }}
-
{{ $label }}
-
- @endforeach -
-
-
-
Modules
-
@foreach($modules as $module) -
-
-
{{ $module['name'] }}
-
v{{ $module['version'] }}
-
- {{ $module['enabled'] ? 'Enabled' : 'Disabled' }} -
- @endforeach
-
-
-
Recent audit - activity -
-
@forelse($recentAudit as $log) -
-
{{ $log->event }}
-
{{ optional($log->created_at)->diffForHumans() }}
-
- @empty -
No audit events yet.
- @endforelse
-
-
-
-
diff --git a/Modules/Administration/Routes/web.php b/Modules/Administration/Routes/web.php index 1aa560c..ab08cb2 100644 --- a/Modules/Administration/Routes/web.php +++ b/Modules/Administration/Routes/web.php @@ -1,10 +1,8 @@ prefix('administration')->name('administration.')->group(function (): void { - Route::get('/', DashboardController::class)->name('dashboard'); Route::get('/modules', [ModuleController::class, 'index'])->name('modules.index'); }); diff --git a/Modules/Administration/Tests/Feature/AdministrationModuleTest.php b/Modules/Administration/Tests/Feature/AdministrationModuleTest.php index 050ffe0..cf8cd1b 100644 --- a/Modules/Administration/Tests/Feature/AdministrationModuleTest.php +++ b/Modules/Administration/Tests/Feature/AdministrationModuleTest.php @@ -1,5 +1,17 @@ toBe('Administration'); }); + +it('uses the primary dashboard for administration overview content', function (): void { + $dashboard = Route::getRoutes()->getByName('dashboard'); + + expect($dashboard)->not->toBeNull() + ->and($dashboard->getActionName())->toBe(DashboardController::class) + ->and(view()->exists('stylist-theme-admin::dashboard'))->toBeTrue() + ->and(Route::has('administration.dashboard'))->toBeFalse(); +}); diff --git a/resources/themes/admin/views/dashboard.blade.php b/resources/themes/admin/views/dashboard.blade.php index 75ebd83..5ccf417 100644 --- a/resources/themes/admin/views/dashboard.blade.php +++ b/resources/themes/admin/views/dashboard.blade.php @@ -1,18 +1,60 @@ -
-
-
- -
-
- -
-
- -
+
+
+

Dashboard

+

Platform health and recent activity.

-
- + +
+ @foreach([ + ['Users', $userCount, 'users'], + ['Roles', $roleCount, 'shield-check'], + ['Media', $mediaCount, 'photo'], + ['Audit events', $auditCount, 'clipboard-document-list'], + ] as [$label, $count, $icon]) +
+ +
{{ $count }}
+
{{ $label }}
+
+ @endforeach +
+ +
+
+
+ Modules +
+
+ @foreach($modules as $module) +
+
+
{{ $module['name'] }}
+
v{{ $module['version'] }}
+
+ + {{ $module['enabled'] ? 'Enabled' : 'Disabled' }} + +
+ @endforeach +
+
+ +
+
+ Recent audit activity +
+
+ @forelse($recentAudit as $log) +
+
{{ $log->event }}
+
{{ optional($log->created_at)->diffForHumans() }}
+
+ @empty +
No audit events yet.
+ @endforelse +
+
diff --git a/resources/themes/common/views/components/layouts/app/sidebar.blade.php b/resources/themes/common/views/components/layouts/app/sidebar.blade.php index a5ef366..1643215 100644 --- a/resources/themes/common/views/components/layouts/app/sidebar.blade.php +++ b/resources/themes/common/views/components/layouts/app/sidebar.blade.php @@ -35,7 +35,7 @@ {{ __('Team') }} {{ __('Testimonials') }} -{{ __('Enterprise Services') }}{{ __('Sites') }}{{ __('Dashboard') }}{{ __('Administration') }} +{{ __('Enterprise Services') }}{{ __('Sites') }}{{ __('Dashboard') }} {{ __('API & Webhooks') }}{{ __('Developer Tools') }} {{ __('AI Platform') }} {{ __('Automation') }} diff --git a/routes/web.php b/routes/web.php index f4374b5..e9437ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,16 +1,14 @@ name('home'); Route::middleware(['auth', 'verified'])->group(function () { - Route::view( - '/dashboard', - 'stylist-theme-admin::dashboard' - )->name('dashboard'); + Route::get('/dashboard', DashboardController::class)->name('dashboard'); }); require __DIR__.'/settings.php';