"use client"; import { RouterAdminInvestasi } from "@/app/lib/router_admin/router_admin_investasi"; import { MODEL_INVESTASI } from "@/app_modules/investasi/_lib/interface"; import { Button, Center, Group, Pagination, Paper, ScrollArea, Stack, Table, Text, TextInput, Title, } from "@mantine/core"; import { IconDetails, IconEye, IconEyeCheck, IconInfoCircle, IconSearch } from "@tabler/icons-react"; import _ from "lodash"; import { useRouter } from "next/navigation"; import { useState } from "react"; import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate"; import ComponentAdminGlobal_IsEmptyData from "../../_admin_global/is_empty_data"; import { adminInvestasi_funGetAllPublish } from "../fun/get/get_all_publish"; import { ComponentAdminGlobal_TitlePage } from "../../_admin_global/_component"; import { MainColor } from "@/app_modules/_global/color"; export default function Admin_TablePublishInvestasi({ dataInvestsi, }: { dataInvestsi: MODEL_INVESTASI[]; }) { return ( <> {/* {JSON.stringify(listPublish, null, 2)} */} > ); } function TableView({ listData }: { listData: any }) { const router = useRouter(); const [data, setData] = useState(listData.data); const [nPage, setNPage] = useState(listData.nPage); const [activePage, setActivePage] = useState(1); const [isSearch, setSearch] = useState(""); const [isLoading, setLoading] = useState(false); const [idData, setIdData] = useState(""); async function onSearch(s: string) { setSearch(s); setActivePage(1); const loadData = await adminInvestasi_funGetAllPublish({ page: 1, search: s, }); setData(loadData.data as any); setNPage(loadData.nPage); } async function onPageClick(p: any) { setActivePage(p); const loadData = await adminInvestasi_funGetAllPublish({ search: isSearch, page: p, }); setData(loadData.data as any); setNPage(loadData.nPage); } const tableBody = data.map((e) => ( {e.author.username} {e.title} {_.toNumber(e.progress).toFixed(2)} % {new Intl.NumberFormat("id-ID", { maximumFractionDigits: 10, }).format(+e.sisaLembar)} {new Intl.NumberFormat("id-ID", { maximumFractionDigits: 10, }).format(+e.totalLembar)} {e.Investasi_Invoice.length} } onClick={() => { setIdData(e.id); setLoading(true); router.push(RouterAdminInvestasi.detail_publish + `${e.id}`); }} > Detail )); return ( <> } radius={"xl"} placeholder="Cari nama proyek" onChange={(val) => { onSearch(val.currentTarget.value); }} /> } /> {/* Publish } radius={"xl"} placeholder="Cari nama proyek" onChange={(val) => { onSearch(val.currentTarget.value); }} /> */} {_.isEmpty(data) ? ( ) : ( Username Nama Proyek Progres Sisa Saham Total Saham Validasi Aksi {tableBody} { onPageClick(val); }} /> )} > ); }
{JSON.stringify(listPublish, null, 2)}