import * as React from "react"; import { ColumnDef } from "@tanstack/react-table"; import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react"; import { cn, getCookiesDecrypt } from "@/lib/utils"; import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, DropdownMenuItem, } from "@/components/ui/dropdown-menu"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { formatDateToIndonesian, getOnlyDate, htmlToString, } from "@/utils/globals"; import { Link, useRouter } from "@/i18n/routing"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { Collapsible, CollapsibleContent } from "@/components/ui/collapsible"; import { deleteAdvertisements, setBanner } from "@/service/settings/settings"; import { error } from "@/config/swal"; import { useToast } from "@/components/ui/use-toast"; import withReactContent from "sweetalert2-react-content"; import Swal from "sweetalert2"; import { deleteMedia } from "@/service/content/content"; const columns: ColumnDef[] = [ { accessorKey: "no", header: "No", cell: ({ row }) => {row.getValue("no")}, }, { accessorKey: "title", header: "Judul", cell: ({ row }) =>
{row.getValue("title")}
, }, { accessorKey: "contentFileName", header: "Judul Gambar", cell: ({ row }) => (
{row.getValue("contentFileName")}
), }, { accessorKey: "placements", header: "Posisi", cell: ({ row }) => (
{row.getValue("placements")}
), }, { accessorKey: "statusName", header: "Status", cell: ({ row }) => {row.getValue("statusName")}, }, { id: "actions", accessorKey: "action", header: "Actions", enableHiding: false, cell: ({ row }) => { const MySwal = withReactContent(Swal); const levelNumber = getCookiesDecrypt("ulne"); async function doDelete(id: any) { // loading(); const data = { id, }; const response = await deleteAdvertisements(id); if (response?.error) { error(response.message); return false; } success(); } function success() { MySwal.fire({ title: "Sukses", icon: "success", confirmButtonColor: "#3085d6", confirmButtonText: "OK", }).then((result) => { if (result.isConfirmed) { window.location.reload(); } }); } const handleDeleteAdvertisements = (id: any) => { MySwal.fire({ title: "Hapus Data", text: "", icon: "warning", showCancelButton: true, cancelButtonColor: "#3085d6", confirmButtonColor: "#d33", confirmButtonText: "Hapus", }).then((result) => { if (result.isConfirmed) { doDelete(id); } }); }; return ( {/* View Edit handleDeleteAdvertisements(row.original.id)} className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none" > Delete */} View {levelNumber === "1" && ( <> Edit handleDeleteAdvertisements(row.original.id)} className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none" > Delete )} ); }, }, ]; export default columns;