import { type SharedData } from '@/types'; import { Link, useForm, usePage } from '@inertiajs/react'; import { useState } from 'react'; import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Button } from '@/components/ui/button'; import { ChevronsUpDownIcon, PlusIcon } from 'lucide-react'; import { useInitials } from '@/hooks/use-initials'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; export function ProjectSwitch() { const page = usePage(); const { auth } = page.props; const [selectedProject, setSelectedProject] = useState(auth.currentProject?.id?.toString() ?? ''); const initials = useInitials(); const form = useForm(); const handleProjectChange = (projectId: string) => { const selectedProject = auth.projects.find((project) => project.id.toString() === projectId); if (selectedProject) { setSelectedProject(selectedProject.id.toString()); form.post(route('projects.switch', { project: projectId })); } }; return (
{auth.projects.map((project) => ( handleProjectChange(project.id.toString())} > {project.name} ))} Create new project
); }