{{ $page.props.auth?.user?.name || 'Admin' }}
-
Administrator
+
{{ $page.props.auth?.user?.role || 'Administrator' }}
-
+
{{ ($page.props.auth?.user?.name || 'A').charAt(0) }}
diff --git a/resources/js/pages/Admin/Users/Create.vue b/resources/js/pages/Admin/Users/Create.vue
new file mode 100644
index 0000000..40ce98d
--- /dev/null
+++ b/resources/js/pages/Admin/Users/Create.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
Add New User
+
Create a new user account and assign a role.
+
+
+
+
+
+
diff --git a/resources/js/pages/Admin/Users/Edit.vue b/resources/js/pages/Admin/Users/Edit.vue
new file mode 100644
index 0000000..632c6e5
--- /dev/null
+++ b/resources/js/pages/Admin/Users/Edit.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
Edit User
+
Update account details for {{ user.name }}
+
+
+
+
+
+
diff --git a/resources/js/pages/Admin/Users/Index.vue b/resources/js/pages/Admin/Users/Index.vue
new file mode 100644
index 0000000..8500f3d
--- /dev/null
+++ b/resources/js/pages/Admin/Users/Index.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
User Management
+
Manage admin and moderator accounts
+
+
+
+
+
Add User
+
+
+
+
+
+
+
+
+ | ID |
+ Name |
+ Email |
+ Role |
+ Actions |
+
+
+
+
+ | #{{ user.id }} |
+ {{ user.name }} |
+ {{ user.email }} |
+
+
+ {{ user.role }}
+
+ |
+
+
+
+
+
+ |
+
+
+ |
+ No users found.
+ |
+
+
+
+
+
+
+
+
diff --git a/resources/js/pages/settings/Appearance.vue b/resources/js/pages/settings/Appearance.vue
index 2981f7c..520c3b3 100644
--- a/resources/js/pages/settings/Appearance.vue
+++ b/resources/js/pages/settings/Appearance.vue
@@ -2,14 +2,13 @@
import { Head } from '@inertiajs/vue3';
import AppearanceTabs from '@/components/AppearanceTabs.vue';
import Heading from '@/components/Heading.vue';
-import { edit } from '@/routes/appearance';
defineOptions({
layout: {
breadcrumbs: [
{
title: 'Appearance settings',
- href: edit(),
+ href: '/settings/appearance',
},
],
},
diff --git a/routes/web.php b/routes/web.php
index e9be1d5..57923c9 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -3,6 +3,7 @@
use App\Http\Controllers\BonusController;
use App\Http\Controllers\LiveStatusController;
use App\Http\Controllers\TrackingController;
+use App\Http\Controllers\Admin\UserController;
use App\Models\Bonus;
use App\Models\BonusStat;
use Carbon\Carbon;
@@ -146,6 +147,10 @@ Route::middleware(['auth', 'verified'])->group(function () {
Route::middleware(['can:manage-bonuses'])->prefix('admin')->name('admin.')->group(function () {
Route::resource('bonuses', BonusController::class);
});
+
+ Route::middleware(['can:manage-users'])->prefix('admin')->name('admin.')->group(function () {
+ Route::resource('users', UserController::class);
+ });
});
Route::get('/api/live-status', [LiveStatusController::class, '__invoke']);