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' import Alert from '@/core/components/elements/Alert/Alert' const Transactions = () => { const router = useRouter() const { q = '', page = 1 } = router.query const limit = 10 const query = { name: q, offset: (page - 1) * limit, limit } const { transactions } = useTransactions({ query }) const [inputQuery, setInputQuery] = useState(q) const [toOthers, setToOthers] = useState(null) const [toCancel, setToCancel] = useState(null) const submitCancelTransaction = async () => { const isCancelled = await cancelTransactionApi({ transaction: toCancel }) if (isCancelled) { toast.success('Berhasil batalkan transaksi') transactions.refetch() } setToCancel(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)}