import { CheckCircle } from "lucide-react"; import { useState } from "react"; import { useTranslation } from "~/providers/I18nProvider"; import { useServizio } from "~/providers/ServizioProvider"; import { api } from "~/utils/api"; import { CardAnnuncio } from "../annuncio_card"; import { InteressatoButtonServizio } from "../annuncio-interactions/annuncio_interactions"; import { LoadingPage } from "../loading"; import { Badge } from "../ui/badge"; import { Button } from "../ui/button"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "../ui/dialog"; import { Label } from "../ui/label"; import { Switch } from "../ui/switch"; import { AnnuncioDettaglio } from "./annuncio_dettaglio"; export const AnnunciCompatibili = () => { const { servizioId, isAdmin } = useServizio(); const { locale } = useTranslation(); const [adminOverride, setAdminOverride] = useState(false); const { data, isLoading } = api.servizio.getCompatibileAnnunci.useQuery({ servizioId, adminOverride, }); return ( {locale === "it" ? "Annunci compatibili con i parametri del servizio" : "Listings compatible with the service parameters"} {isAdmin && (
)}
{isLoading ? ( ) : ( <> {!data || data.length === 0 ? ( {locale === "it" ? "Nessun annuncio compatibile trovato. Amplia la ricerca per trovare annunci compatibili." : "No compatible listings found. Broaden your search to find compatible listings."} ) : (
{data.map((annuncio) => (
{annuncio.alreadyRequested ? ( {locale === "it" ? "Richiesta inviata" : "Request sent"} ) : ( )}
))}
)} )}
); };