diff --git a/app/[locale]/(protected)/contributor/content/spit/table-spit/table-spit.tsx b/app/[locale]/(protected)/contributor/content/spit/table-spit/table-spit.tsx index 93d58a4d..ebd33ba8 100644 --- a/app/[locale]/(protected)/contributor/content/spit/table-spit/table-spit.tsx +++ b/app/[locale]/(protected)/contributor/content/spit/table-spit/table-spit.tsx @@ -36,7 +36,11 @@ import { import { title } from "process"; import { getCookiesDecrypt } from "@/lib/utils"; import TablePagination from "@/components/table/table-pagination"; -import { listEnableCategory, listSPIT } from "@/service/content/content"; +import { + deleteBulkSPIT, + listEnableCategory, + listSPIT, +} from "@/service/content/content"; import { useSearchParams } from "next/navigation"; import { InputGroup, InputGroupText } from "@/components/ui/input-group"; @@ -53,6 +57,10 @@ import { Label } from "@/components/ui/label"; import { useTranslations } from "next-intl"; import { format } from "date-fns"; import useTableColumns from "./columns"; +import Swal from "sweetalert2"; +import withReactContent from "sweetalert2-react-content"; +import { close, error, loading } from "@/config/swal"; +import toast from "react-hot-toast"; // export type CompanyData = { // no: number; @@ -120,6 +128,30 @@ const TableSPIT = () => { }, }); + const MySwal = withReactContent(Swal); + + async function onSubmitDelete(ids: string[]) { + if (ids.length === 0) return; + + try { + loading(); + const response = await deleteBulkSPIT(ids); + + if (response?.error) { + error(response?.message); + return; + } + + toast.success("Konten berhasil dihapus"); + table.resetRowSelection(); + await fetchData(); + } catch (err) { + toast.error("Terjadi kesalahan saat menghapus"); + } finally { + close(); + } + } + React.useEffect(() => { const pageFromUrl = searchParams?.get("page"); if (pageFromUrl) { @@ -338,6 +370,38 @@ const TableSPIT = () => { + {table.getSelectedRowModel().rows.length > 0 && ( +