import React, { useContext, useState } from "react";
import { AuthContext, tokenExpireError } from "@/authContext";
import MkdSDK from "@/utils/MkdSDK";
import { useForm } from "react-hook-form";
import { useSearchParams } from "react-router-dom";
import { GlobalContext, showToast } from "@/globalContext";
import { clearSearchParams, parseSearchParams } from "@/utils/utils";
import Button from "@/components/Button";
import SwitchBulkMode from "@/components/SwitchBulkMode";
import moment from "moment";
import TreeSDK from "@/utils/TreeSDK";
import { ID_PREFIX } from "@/utils/constants";
import RestoreModal from "./RestoreModal";
import DeletePermanentlyModal from "./DeletePermanentlyModal";
import RestoreAllModal from "./RestoreAllModal";
import { Switch } from "@headlessui/react";
import DeleteAllModal from "./DeleteAll";
let treeSdk = new TreeSDK()
const columns = [
{
header: "ID",
accessor: "id",
isSorted: true,
isSortedDesc: true,
idPrefix: true,
},
{
header: "Deleted At",
accessor: "deleted_at",
isSorted: true,
isSortedDesc: true,
format: (raw) => moment(raw).format("MM/DD/yyyy hh:mm:ss A"),
},
{
header: "Actions",
accessor: "",
},
];
export default function AdminRecycleBinFaqs() {
const { dispatch } = React.useContext(AuthContext);
const { state: globalState, dispatch: globalDispatch } = React.useContext(GlobalContext);
const [bulkMode, setBulkMode] = React.useState(false);
const [bulkSelected, setBulkSelected] = React.useState([]);
const [searchParams, setSearchParams] = useSearchParams(localStorage.getItem("admin_recycle_filter") ?? "");
const [data, setData] = useState([]);
const [loading, setLoading] = useState(false);
const [selectedRestore, setSelectedRestore] = useState({});
const [selectedDelete, setSelectedDelete] = useState({});
const [restoreAll, setRestoreAll] = useState(false);
const [deleteAll, setDeleteAll] = useState(false);
let sdk = new MkdSDK();
let tdk = new TreeSDK();
const {
reset,
register,
handleSubmit,
formState: { errors },
} = useForm({
defaultValues: parseSearchParams(searchParams),
});
async function getData(data) {
setLoading(true);
try {
let filter = ["ergo_faq.deleted_at IS NOT NULL"];
if (data?.id) {
filter.push(`ergo_faq.id = ${data?.id}`);
}
if (data?.deleted_at) {
filter[0] = (`DATE_FORMAT(ergo_faq.deleted_at, '%Y-%m-%d')= '${data?.deleted_at}'`);
}
const result = await sdk.callRawAPI("/v2/api/custom/ergo/faq/PAGINATE",
{
"where": filter,
"page": 1,
"limit": 10
},
"POST"
)
setData(result.list);
} catch (error) {
tokenExpireError(dispatch, error.message);
showToast(globalDispatch, error.message, 4000, "ERROR");
}
setLoading(false);
}
function MyToggle(data) {
const [enabled, setEnabled] = useState(data.user.status === 1 ? true : false)
const { dispatch: globalDispatch } = useContext(GlobalContext);
let sdk = new MkdSDK();
async function editUser() {
const result = await sdk.callRawAPI("/v2/api/custom/ergo/soft-delete", { id: Number(data.user.id), entity: "user", type: "restore" }, "POST");
if (!result.error) {
showToast(globalDispatch, result.message, 4000)
getData()
}
}
return (
| )} {columns.map((column, index) => ( | {column.header} {column.isSorted} {column.isSorted ? (column.isSortedDesc ? " ▼" : " ▲") : ""} | ))}|||||||
|---|---|---|---|---|---|---|---|---|
| { if (bulkSelected.some((item) => item.id == row.id)) { setBulkSelected((prev) => { let copy = [...prev]; copy.splice( prev.findIndex((item) => item.id == row.id), 1, ); return copy; }); } else { setBulkSelected((prev) => [...prev, { id: row.id, table: row.entity_type }]); } }} checked={bulkSelected.some((item) => item.id == row.id)} onChange={() => { }} /> | )} {columns.map((cell, index) => { if (cell.format) { return ({cell.format(row[cell.accessor])} | ); } if (cell.accessor == "") { return (
{(row.email) &&
|
);
}
if (cell.accessor == "email" && (row?.user_id || row?.host_id)) {
return (
{getUserDetail(row?.user_id || row?.host_id)} | ); } if (cell.accessor == "email" && (row?.email)) { return ({getUserDetail(row?.id)} | ); } if (cell.accessor == "email" && ((!row?.user_id || !row?.host_id) && !row?.cost)) { return ({getSpaceHost(row?.property_id)} | ); } if (cell.accessor == "email" && (row?.entity_type == "add_on")) { return ({getAddonOwner(row?.id)} | ); } if (cell.mapping) { return ({cell.mapping[row[cell.accessor]]} | ); } return ({row[cell.accessor]} | ); })}