Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod
This commit is contained in:
commit
3f2d66c426
|
|
@ -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 = () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{table.getSelectedRowModel().rows.length > 0 && (
|
||||
<div className="mt-4 px-5">
|
||||
<Button
|
||||
variant="default"
|
||||
size="sm"
|
||||
onClick={async () => {
|
||||
const ids = table
|
||||
.getSelectedRowModel()
|
||||
.rows.map((row) => row.original.contentId);
|
||||
|
||||
const confirm = await MySwal.fire({
|
||||
title: "Yakin ingin menghapus?",
|
||||
text: `Anda akan menghapus ${ids.length} item.`,
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "Ya, hapus",
|
||||
cancelButtonText: "Batal",
|
||||
});
|
||||
|
||||
if (confirm.isConfirmed) {
|
||||
onSubmitDelete(ids);
|
||||
}
|
||||
}}
|
||||
className="bg-red-600 text-white"
|
||||
>
|
||||
<Trash2 className="w-4 h-4 mr-2" />
|
||||
Hapus yang dipilih ({table.getSelectedRowModel().rows.length})
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
<Table className="overflow-hidden mt-3">
|
||||
<TableHeader>
|
||||
{table.getHeaderGroups().map((headerGroup) => (
|
||||
|
|
|
|||
|
|
@ -139,6 +139,11 @@ export async function listSPIT(
|
|||
);
|
||||
}
|
||||
|
||||
export async function deleteBulkSPIT(ids: any) {
|
||||
const url = `media/spit/bulk?ids=${ids}`;
|
||||
return httpDeleteInterceptor( url );
|
||||
}
|
||||
|
||||
export async function listNulisAI(limit: any, page: any, title: string = "") {
|
||||
return await httpGetInterceptor(
|
||||
`media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}&title=${title}`
|
||||
|
|
|
|||
Loading…
Reference in New Issue