import { Button } from '@/components/ui/button'; import { apiClient } from '@/lib/api-client'; import type { ComplexWithRole } from '@repo/api-contract'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { useNavigate } from '@tanstack/react-router'; import { Building2, Loader2 } from 'lucide-react'; export function SelectComplexPage() { const navigate = useNavigate(); const complexesQuery = useQuery({ queryKey: ['my-complexes'], queryFn: () => apiClient.complexes.listMine(), }); const queryClient = useQueryClient(); const selectMutation = useMutation({ mutationFn: async (complexId: string) => { const response = await apiClient.complexes.select({ complexId }); return response; }, onSuccess: (data) => { queryClient.setQueryData(['current-complex'], data); navigate({ to: '/' }); }, }); const handleSelect = (complex: ComplexWithRole) => { selectMutation.mutate(complex.id); }; if (complexesQuery.isLoading) { return (
); } if (complexesQuery.isError) { return (

Error al cargar tus complejos.

); } const complexes = complexesQuery.data ?? []; if (complexes.length === 0) { return (

No tenés complejos asociados.

); } return (

Seleccioná un complejo

Elegí el complejo con el que vas a trabajar.

{complexes.map((complex) => ( ))}
); }