import { Building, ChevronDown, ChevronUp } from "lucide-react"; import { useState } from "react"; import { LoadingPage } from "~/components/loading"; import { ServizioContent } from "~/components/servizio/main"; import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "~/components/ui/collapsible"; import { cn } from "~/lib/utils"; import { ServizioProvider } from "~/providers/ServizioProvider"; import type { UsersId } from "~/schemas/public/Users"; import type { ServizioData } from "~/server/controllers/servizio.controller"; import { api } from "~/utils/api"; export const TabRicerca = ({ userId, isAdmin, }: { userId: UsersId; isAdmin: boolean; }) => { const { data, isLoading } = api.servizio.getAllServizioAnnunci.useQuery({ userId, }); if (isLoading) return ; if (!data || data.length === 0) { return (
Nessun servizio attualmente inserito
); } const first_choice = data.findIndex((s) => !s.isInterrotto && s.isOkAcconto); const second_choice = data.findIndex((s) => !s.isInterrotto); const getDefaultOpen = (idx: number) => { if (first_choice !== -1) return idx === first_choice; if (second_choice !== -1) return idx === second_choice; return idx === 0; }; return (
{data.map((servizio, idx) => { return ( ); })}
); }; const Row = ({ servizio, userId, isAdmin, defaultOpen = false, }: { servizio: ServizioData; userId: UsersId; isAdmin: boolean; defaultOpen: boolean; }) => { const [isOpen, setIsOpen] = useState(defaultOpen); return (
Affitto {servizio.tipologia}
{isOpen ? : }
); };