import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { SharedData } from '@/types/global'; import { router, usePage } from '@inertiajs/react'; import { GraduationCap, Heart, LayoutDashboard, LogOut, SettingsIcon, UserCircle } from 'lucide-react'; import { nanoid } from 'nanoid'; const ProfileToggle = () => { const { props } = usePage(); const { user } = props.auth; const { button } = props.translate; const studentMenuItems = [ { id: nanoid(), name: button.my_courses, slug: 'courses', Icon: GraduationCap, }, { id: nanoid(), name: button.wishlist, slug: 'wishlist', Icon: Heart, }, { id: nanoid(), name: button.profile, slug: 'profile', Icon: UserCircle, }, { id: nanoid(), name: button.settings, slug: 'settings', Icon: SettingsIcon, }, ]; return ( {user && user.photo ? ( {user.name?.charAt(0)} ) : ( )} {(user.role === 'admin' || user.role === 'instructor') && ( router.get(route('dashboard'))}> {button.dashboard} )} {(user.role === 'student' || user.role === 'instructor') && studentMenuItems.map(({ id, name, Icon, slug }) => ( router.get(route('student.index', { tab: slug }))}> {name} ))} router.post('/logout')}> {button.logout} ); }; export default ProfileToggle;