+ {/* Trigger Button */}
+
+
+ {/* Dropdown Menu */}
+ {isOpen && (
+
+ {/* User Info Header */}
+
+
+
+ {initials}
+
+
+
{displayName}
+
{displayEmail}
+
+
+
+
+ {/* Menu Items */}
+
+
+
+
+
+
+ {/* Logout */}
+
+
+
+
+ )}
+
+ )
+}
diff --git a/dashboard/src/layouts/DashboardLayout.tsx b/dashboard/src/layouts/DashboardLayout.tsx
index 7f7a2c4..db181d1 100644
--- a/dashboard/src/layouts/DashboardLayout.tsx
+++ b/dashboard/src/layouts/DashboardLayout.tsx
@@ -1,6 +1,7 @@
-import { Cloud, Github, Home, LogOut, Settings, Sparkles, Terminal } from 'lucide-react'
-import { NavLink, Outlet, useNavigate } from 'react-router-dom'
+import { Cloud, Github, Home, Settings, Sparkles, Terminal } from 'lucide-react'
+import { NavLink, Outlet } from 'react-router-dom'
import { TerminalLogs } from '../components/TerminalLogs'
+import UserDropdown from '../components/UserDropdown'
import { useAuth } from '../contexts/Auth'
const navItems = [
@@ -17,13 +18,7 @@ const baseClass =
'flex items-center gap-2 rounded-md px-3 py-2 text-slate-300 hover:bg-slate-800/50 transition-colors duration-150 border border-transparent'
export default function DashboardLayout() {
- const { user, logout } = useAuth()
- const navigate = useNavigate()
-
- const handleLogout = async () => {
- await logout()
- navigate('/login')
- }
+ const { user } = useAuth()
return (