import { useState, useCallback } from "react"; import { API_URL } from "../config/authConstants"; /** * useDeletePost — хук для удаления объявления. * * @returns {Object} { deletePost, loading, error } */ export function useDeletePost() { const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const deletePost = useCallback(async (postId) => { setLoading(true); setError(""); try { const token = localStorage.getItem("token"); const res = await fetch(`${API_URL}/api/v1/posts/${postId}`, { method: "DELETE", headers: { ...(token ? { Authorization: `Bearer ${token}` } : {}), }, }); if (!res.ok) { throw new Error(`Ошибка ${res.status}`); } return true; } catch (err) { setError(err.message || "Не удалось удалить объявление"); return false; } finally { setLoading(false); } }, []); return { deletePost, loading, error }; }