import { useRouter } from "next/router" import { useState } from "react" import { toast } from "react-hot-toast" import { EllipsisVerticalIcon, MagnifyingGlassIcon } from "@heroicons/react/24/outline" import { downloadPurchaseOrder, downloadQuotation } from "../utils/transactions" import useTransactions from "../hooks/useTransactions" import currencyFormat from "@/core/utils/currencyFormat" import cancelTransactionApi from "../api/cancelTransactionApi" import TransactionStatusBadge from "./TransactionStatusBadge" import Spinner from "@/core/components/elements/Spinner/Spinner" import Link from "@/core/components/elements/Link/Link" import BottomPopup from "@/core/components/elements/Popup/BottomPopup" import Pagination from "@/core/components/elements/Pagination/Pagination" import { toQuery } from "lodash-contrib" import _ from "lodash" const Transactions = () => { const router = useRouter() const { q = '', page = 1 } = router.query const limit = 10 const query = { name: q, offset: (page - 1) * limit, limit } const [ inputQuery, setInputQuery ] = useState(q) const { transactions } = useTransactions({ query }) const [ toOthers, setToOthers ] = useState(null) const [ toDelete, setToDelete ] = useState(null) const submitCancelTransaction = async () => { const isCancelled = await cancelTransactionApi({ partnerId: auth.partnerId, transaction: toDelete }) if (isCancelled) { toast.success('Berhasil batalkan transaksi') transactions.refetch() } setToDelete(null) } const pageCount = Math.ceil(transactions?.data?.saleOrderTotal / limit) let pageQuery = _.omit(query, ['limit', 'offset']) pageQuery = _.pickBy(pageQuery, _.identity) pageQuery = toQuery(pageQuery) const handleSubmit = (e) => { e.preventDefault() router.push(`/my/transactions?q=${inputQuery}`) } return (
{ saleOrder.purchaseOrderName || '-' }
{ saleOrder.invoiceCount } Invoice
{ saleOrder.sales }
{ currencyFormat(saleOrder.amountTotal) }