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'; import { type Server } from '@/types/server'; import type { SharedData } from '@/types'; export function ServerSwitch() { const page = usePage(); const [selectedServer, setSelectedServer] = useState(page.props.server || null); const initials = useInitials(); const form = useForm(); const handleServerChange = (server: Server) => { setSelectedServer(server); form.post(route('servers.switch', { server: server.id })); }; return (
{selectedServer && ( )} {!selectedServer && ( )} {page.props.projectServers.map((server) => ( handleServerChange(server)} > {server.name} ))}
Create new server
); }