"use client"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; export function ListingRowActions({ id, slug, status, listingType }: { id: string; slug: string; status: string; listingType: string }) { const router = useRouter(); const [busy, setBusy] = useState(false); const [msg, setMsg] = useState(null); const act = async (a: string) => { setBusy(true); setMsg(null); const r = await fetch(`/api/listings/${id}/${a}`, { method: "POST" }); const d = await r.json(); setBusy(false); if (!r.ok) setMsg(d.problems ? d.problems.join(" · ") : d.error?.message ?? "Erreur"); else router.refresh(); }; const del = async () => { if (!confirm("Supprimer ce brouillon ?")) return; await fetch(`/api/listings/${id}`, { method: "DELETE" }); router.refresh(); }; return (
Modifier {status === "PUBLISHED" && Voir en ligne} {["DRAFT", "PAUSED", "REJECTED"].includes(status) && } {status === "PUBLISHED" && } {["PUBLISHED", "PAUSED"].includes(status) && } {["SOLD", "RENTED", "ARCHIVED"].includes(status) && } {!["ARCHIVED", "DRAFT"].includes(status) && } {status === "DRAFT" && } {msg &&

{msg}

}
); }