diff --git a/src/app/admin/AdminNavbar.tsx b/src/app/admin/AdminNavbar.tsx index fc21560..bee1cfd 100644 --- a/src/app/admin/AdminNavbar.tsx +++ b/src/app/admin/AdminNavbar.tsx @@ -1,6 +1,7 @@ "use client"; import { useState, ReactNode } from 'react'; import { usePathname } from 'next/navigation'; +import { useSession } from 'next-auth/react'; import { Dialog, DialogBackdrop, @@ -32,8 +33,8 @@ const navigation = [ // { name: 'Settings', href: '/admin/settings', icon: Cog6ToothIcon }, // optional/future ]; const userNavigation = [ - { name: 'Your profile', href: '#' }, - { name: 'Sign out', href: '#' }, + { name: 'Your profile', href: '/account/profile' }, + { name: 'Sign out', href: '/api/auth/signout' }, ]; function classNames(...classes: string[]) { @@ -43,6 +44,40 @@ function classNames(...classes: string[]) { export default function AdminNavbar({ children }: { children: ReactNode }) { const [sidebarOpen, setSidebarOpen] = useState(false); const pathname = usePathname(); + const { data: session } = useSession(); + + // Get user display name + const getUserDisplayName = () => { + if (!session?.user) return 'Admin User'; + + const user = session.user as any; + if (user.first_name && user.last_name) { + return `${user.first_name} ${user.last_name}`; + } + if (user.name) { + return user.name; + } + if (user.email) { + return user.email.split('@')[0]; // Use email prefix as fallback + } + return 'Admin User'; + }; + + const getUserInitials = () => { + if (!session?.user) return 'A'; + + const user = session.user as any; + if (user.first_name && user.last_name) { + return `${user.first_name[0]}${user.last_name[0]}`.toUpperCase(); + } + if (user.name) { + return user.name.split(' ').map((n: string) => n[0]).join('').toUpperCase().slice(0, 2); + } + if (user.email) { + return user.email[0].toUpperCase(); + } + return 'A'; + }; return ( <> @@ -203,6 +238,15 @@ export default function AdminNavbar({ children }: { children: ReactNode }) { className="pointer-events-none col-start-1 row-start-1 size-5 self-center text-gray-400" /> + + {/* Back to Site Button */} + + + Back to Site +