import NavbarAdmin from "../Layout/NavbarAdmin"; import SidebarAdmin from "../Layout/SidebarAdmin"; import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; const PartnershipsList = () => { const navigate = useNavigate(); const [partnerships, setPartnerships] = useState< { id: number; nama_partner: string; image_path: string }[] >([]); useEffect(() => { const fetchPartnerships = async () => { try { const response = await fetch( `${import.meta.env.VITE_API_BASE_URL}/partnership-api/get` ); const result = await response.json(); if (response.ok) { setPartnerships(result.data); } else { console.error("Gagal mengambil data partnership:", result.message); } } catch (error) { console.error("Terjadi kesalahan:", error); } }; fetchPartnerships(); }, []); const token = document.cookie .split("; ") .find((row) => row.startsWith("token=")) ?.split("=")[1]; const handleDelete = async (id: number) => { const confirmDelete = confirm( "Apakah Anda yakin ingin menghapus partnership ini?" ); if (!confirmDelete) return; if (!token) { alert("Token tidak ditemukan. Silakan login ulang."); return; } try { const response = await fetch( `${import.meta.env.VITE_API_BASE_URL}/partnership-api/delete/${id}`, { method: "DELETE", headers: { Authorization: `Bearer ${token}`, }, } ); const result = await response.json(); if (response.ok) { alert("Partnership berhasil dihapus!"); setPartnerships((prev) => prev.filter((item) => item.id !== id)); } else { alert(result.message || "Gagal menghapus partnership."); } } catch (error) { alert("Terjadi kesalahan saat menghapus data."); console.error("Error delete:", error); } }; return (
| Nama | Icon | Aksi |
|---|---|---|
| {partner.nama_partner} | {fileName} | {/* Tombol View */} {/* Tombol Edit */} {/* Tombol Hapus */} |