name('landing-page'); // ==================== // LOGIN ROUTES (VIEW) // ==================== Route::prefix('admin')->group(function () { // Halaman login (GET) Route::get('/login', [LoginController::class, 'showLoginForm'])->name('admin.login'); // Proses login (POST) Route::post('/login', [LoginController::class, 'login'])->name('admin.login.submit'); // Dashboard admin (GET) Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('admin.dashboard')->middleware('auth:admin'); // Logout admin Route::post('/logout', [LoginController::class, 'logout'])->name('admin.logout'); }); Route::get('/login/guru', [LoginController::class, 'showLoginForm'])->name('login.guru'); Route::get('/login/siswa', [LoginController::class, 'showLoginForm'])->name('login.siswa'); // ==================== // LOGIN PROSES // ==================== Route::post('/admin/login', [LoginController::class, 'login'])->name('admin.login.submit'); // Guru login Route::post('/guru/login', function (Request $request) { $credentials = $request->only('nip', 'password'); if (Auth::guard('guru')->attempt($credentials)) { return redirect()->route('guru.dashboard'); } return back()->withErrors(['nip' => 'NIP atau password salah']); })->name('guru.login.submit'); // Siswa login Route::post('/siswa/login', function (Request $request) { $credentials = $request->only('nisn', 'password'); if (Auth::guard('siswa')->attempt($credentials)) { return redirect()->route('siswa.dashboard'); } return back()->withErrors(['nisn' => 'NISN atau password salah']); })->name('siswa.login.submit'); // ==================== // ADMIN AREA // ==================== Route::middleware(['auth:admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/admin/notif', function () { return view('admin.notif'); })->name('admin.notif'); Route::get('/admin/profil', function () { return view('admin.profil'); })->name('admin.profil'); Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('dashboard'); Route::resource('guru', GuruController::class); Route::resource('siswa', SiswaController::class); Route::resource('kelas', KelasController::class); Route::resource('mapel', MapelController::class); Route::resource('challenge', ChallengeController::class); Route::get('leaderboard', [LeaderboardController::class, 'index'])->name('leaderboard.index'); Route::post('/logout', [LoginController::class, 'logout'])->name('logout'); }); Route::get('/guru/dashboard', fn() => view('guru.dashboard'))->name('guru.dashboard'); Route::get('/siswa/dashboard', fn() => view('siswa.dashboard'))->name('siswa.dashboard'); require __DIR__.'/auth.php';