validate([ 'login' => 'required', 'password' => 'required|string|min:6', ]); $loginInput = $request->input('login'); if (filter_var($loginInput, FILTER_VALIDATE_EMAIL)) { $field = 'email'; } elseif (preg_match('/^EMP\d+$/i', $loginInput)) { $field = 'employee_id'; } else { $field = 'username'; } $credentials = [ $field => $loginInput, 'password' => $request->password, ]; if (Auth::guard('admin')->attempt($credentials)) { $request->session()->regenerate(); $user = Auth::guard('admin')->user(); return redirect()->route('admin.dashboard') ->with('success', 'Welcome back, ' . $user->name . '!'); } return back()->withErrors(['login' => 'Invalid login credentials.']); } public function logout(Request $request) { Auth::guard('admin')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('admin.login') ->with('success', 'Logged out successfully.'); } public function profile() { $user = Auth::guard('admin')->user(); // ── Real Stats ── $stats = [ 'total_containers' => Container::count(), 'total_invoices' => Invoice::count(), 'paid_invoices' => Invoice::where('status', 'paid')->count(), 'pending_invoices' => Invoice::where('status', 'pending')->count(), 'total_customers' => User::count(), 'total_marklist' => MarkList::count(), 'active_marklist' => MarkList::where('status', 'active')->count(), ]; return view('admin.profile', compact('user', 'stats')); } }