diff --git a/app/Http/Controllers/Guru/LoginController.php b/app/Http/Controllers/Guru/LoginController.php index 70babd2..746b9bf 100644 --- a/app/Http/Controllers/Guru/LoginController.php +++ b/app/Http/Controllers/Guru/LoginController.php @@ -17,6 +17,7 @@ public function showLoginForm() // Proses login public function login(Request $request) { + // Validasi input $request->validate([ 'nip' => 'required', 'password' => 'required', @@ -24,18 +25,20 @@ public function login(Request $request) $credentials = $request->only('nip', 'password'); + // Attempt login dengan guard 'guru' if (Auth::guard('guru')->attempt($credentials)) { $request->session()->regenerate(); - + return redirect()->intended(route('guru.dashboard')); } + // Kalau gagal login return back()->withErrors([ - 'nip' => 'NIP atau password salah' - ])->withInput($request->except('password')); + 'nip' => 'NIP atau password salah!', + ])->withInput($request->only('nip')); } - // Logout + // Proses logout public function logout(Request $request) { Auth::guard('guru')->logout(); diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 3d13e1b..db906a6 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -3,27 +3,30 @@ namespace App\Http\Middleware; use Illuminate\Auth\Middleware\Authenticate as Middleware; +use Illuminate\Http\Request; class Authenticate extends Middleware { - /** - * Tentukan ke mana redirect jika user belum login. - */ - protected function redirectTo($request): ?string{ - if (! $request->expectsJson()) { - // Admin - if ($request->is('admin/*')) { - return route('admin.login'); + protected function redirectTo(Request $request): ?string + { + if (! $request->expectsJson()) { + // Cek guard mana yang dipake + if ($request->is('admin/*')) { + return route('admin.login'); + } + + if ($request->is('guru/*')) { + return route('guru.login'); + } + + if ($request->is('siswa/*')) { + return route('siswa.login'); + } + + // Default ke landing page + return route('landing-page'); } - - // Guru - if ($request->is('guru/*')) { - return route('guru.login'); - } - - // Default - return route('login'); + + return null; } - - return null; -}} +} \ No newline at end of file diff --git a/config/auth.php b/config/auth.php index 12d1a8b..afec1d7 100644 --- a/config/auth.php +++ b/config/auth.php @@ -38,16 +38,19 @@ 'guards' => [ 'web' => [ 'driver' => 'session', - 'provider' => 'user', + 'provider' => 'users', ], + 'admin' => [ 'driver' => 'session', - 'provider' => 'admin', + 'provider' => 'admins', ], + 'guru' => [ 'driver' => 'session', 'provider' => 'gurus', ], + 'siswa' => [ 'driver' => 'session', 'provider' => 'siswas', @@ -72,20 +75,23 @@ | */ - 'providers' => [ - 'user' => [ +'providers' => [ + 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ], - 'admin' => [ + + 'admins' => [ 'driver' => 'eloquent', 'model' => App\Models\Admin::class, ], + 'gurus' => [ 'driver' => 'eloquent', 'model' => App\Models\Guru::class, ], - 'siswa' => [ + + 'siswas' => [ 'driver' => 'eloquent', 'model' => App\Models\Siswa::class, ], diff --git a/public/index.php b/public/index.php index ee8f07e..6e83460 100644 --- a/public/index.php +++ b/public/index.php @@ -1,5 +1,7 @@ -

Login Guru

- - {{-- Tombol Back ke Landing Page --}} - - ← Kembali ke Landing Page - - - {{-- Alert Error --}} - @if($errors->any()) -
- {{ $errors->first() }} + + + + + + Login Guru - E-Learning + + + + +
+

👨‍🏫 Login Guru

+ + @if($errors->any()) +
+ {{ $errors->first() }} +
+ @endif + +
+ @csrf + +
+ + +
+ +
+ + +
+ + +
+ +
- @endif - -
- @csrf - -
- - - @error('nip') -
{{ $message }}
- @enderror -
- -
- -
- - -
- @error('password') -
{{ $message }}
- @enderror -
- - {{-- Remember Me --}} -
- - -
- - -
-
- -{{-- Script show/hide password --}} - -@endsection \ No newline at end of file + + \ No newline at end of file diff --git a/resources/views/guru/layouts/app.blade.php b/resources/views/guru/layouts/app.blade.php index 163660e..1896d68 100644 --- a/resources/views/guru/layouts/app.blade.php +++ b/resources/views/guru/layouts/app.blade.php @@ -1,294 +1,74 @@ - - - + - @yield('title', 'Panel Guru') - - - - - + @yield('title', 'E-Learning Guru') + + + + + + @stack('styles') - -
+
+
+ + - - - - -
- - -
-
- 👋 Hai, {{ Auth::guard('guru')->user()->nama ?? 'Guru' }} -
- -
- Notification - Profile -
-
- - -
- @yield('content') -
-
-
- + + + + @stack('scripts') - - - - - -@extends('guru.layouts.app') - -@section('title', 'Dashboard Guru') - -@section('content') - - - -

DASHBOARD GURU

- -
-

Selamat Datang, {{ Auth::guard('guru')->user()->nama }}! 👨‍🏫

-

NIP: {{ Auth::guard('guru')->user()->nip }}

-
- -
-
-
-
{{ $totalKelas }}
-
Total Kelas Diampu
-
-
- -
-
-
{{ $totalMapel }}
-
Total Mata Pelajaran
-
-
- -
-
-
{{ $totalSiswa }}
-
Total Siswa Diajar
-
-
-
- -@endsection \ No newline at end of file + \ No newline at end of file