diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php
new file mode 100644
index 0000000..08718f6
--- /dev/null
+++ b/app/Http/Controllers/AuthController.php
@@ -0,0 +1,29 @@
+session()->invalidate();
+
+ // 3. Regenerate the CSRF token for security
+ $request->session()->regenerateToken();
+
+ // 4. Redirect them back to the login page
+ return redirect('/login');
+ }
+}
\ No newline at end of file
diff --git a/app/Models/StaffMember.php b/app/Models/StaffMember.php
new file mode 100644
index 0000000..6d4fcfc
--- /dev/null
+++ b/app/Models/StaffMember.php
@@ -0,0 +1,30 @@
+ 'date',
+ 'hire_date' => 'datetime',
+ 'password' => 'hashed', // Laravel 10+ password casting
+ ];
+}
\ No newline at end of file
diff --git a/config/auth.php b/config/auth.php
index 0ba5d5d..813f8ab 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -62,7 +62,8 @@ return [
'providers' => [
'users' => [
'driver' => 'eloquent',
- 'model' => env('AUTH_MODEL', App\Models\User::class),
+ // 'model' => env('AUTH_MODEL', App\Models\User::class),
+ 'model' => App\Models\StaffMember::class,
],
// 'users' => [
diff --git a/resources/views/layouts/partials/topbar.blade.php b/resources/views/layouts/partials/topbar.blade.php
index a801565..85ca1f4 100644
--- a/resources/views/layouts/partials/topbar.blade.php
+++ b/resources/views/layouts/partials/topbar.blade.php
@@ -10,13 +10,38 @@
-
-
-
-
- {{ substr(auth()->user()->name ?? 'Admin', 0, 1) }}
-
-
{{ auth()->user()->name ?? 'Admin User' }}
+
+
+
+
+
+
+ {{ substr(auth()->user()->name ?? 'Admin', 0, 1) }}
+
+
{{ auth()->user()->name ?? 'Admin User' }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/routes/web.php b/routes/web.php
index c7503aa..2117938 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -8,28 +8,31 @@ Route::get('test', function () {
Auth::routes();
+Route::middleware(['auth'])->group(function () {
+ Route::get('/', [App\Http\Controllers\DashboardController::class, 'index'])->name('home');
+ Route::get('home', [App\Http\Controllers\DashboardController::class, 'index'])->name('home');
-Route::get('/', [App\Http\Controllers\DashboardController::class, 'index'])->name('home');
-
-Route::get('/clients', [App\Http\Controllers\ClientsController::class, 'index'])->name('clients.index');
-Route::get('/clients/data', [App\Http\Controllers\ClientsController::class, 'fetchData'])->name('clients.data');
-Route::get('/clients/export', [App\Http\Controllers\ClientController::class, 'export'])->name('clients.export');
+ Route::get('/clients', [App\Http\Controllers\ClientsController::class, 'index'])->name('clients.index');
+ Route::get('/clients/data', [App\Http\Controllers\ClientsController::class, 'fetchData'])->name('clients.data');
+ Route::get('/clients/export', [App\Http\Controllers\ClientController::class, 'export'])->name('clients.export');
-Route::get('/staff', [App\Http\Controllers\StaffController::class, 'index'])->name('home');
+ Route::get('/staff', [App\Http\Controllers\StaffController::class, 'index'])->name('home');
-Route::get('/mnos', [App\Http\Controllers\NetworkOperatorsControlle::class, 'index'])->name('mnos.index');
-Route::get('/documents', [App\Http\Controllers\DocumentsVaultController::class, 'index'])->name('documents.index');
+ Route::get('/mnos', [App\Http\Controllers\NetworkOperatorsControlle::class, 'index'])->name('mnos.index');
+ Route::get('/documents', [App\Http\Controllers\DocumentsVaultController::class, 'index'])->name('documents.index');
-Route::get('/senderids', [App\Http\Controllers\SenderidsController::class, 'index']);
-Route::get('/shortcodes', [App\Http\Controllers\ShortCodesController::class, 'index']);
+ Route::get('/senderids', [App\Http\Controllers\SenderidsController::class, 'index']);
+ Route::get('/shortcodes', [App\Http\Controllers\ShortCodesController::class, 'index']);
+ Route::post('/logout', [App\Http\Controllers\AuthController::class, 'logout'])->name('logout');
+});
//Aegon-Kingsley Kweku Fenyi Banson
//Rhaena Nana Ekua Entsie Banson
//Rickon Akyedze Kofi Asare Banson
\ No newline at end of file