"use client";
import { formatDateMonthYear, t } from "@/utils";
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import { useSelector } from "react-redux";
import { useEffect, useState } from "react";
import { CurrentLanguageData } from "@/redux/reducer/languageSlice";
import NoData from "@/components/EmptyStates/NoData";
import { Badge } from "@/components/ui/badge";
import TransactionSkeleton from "@/components/Skeletons/TransactionSkeleton";
import { paymentTransactionApi } from "@/utils/api";
import { toast } from "sonner";
import Pagination from "@/components/Common/Pagination";
import UploadReceiptModal from "./UploadReceiptModal";
const Transactions = () => {
const CurrentLanguage = useSelector(CurrentLanguageData);
const [transactions, setTransactions] = useState([]);
const [isLoading, setIsLoading] = useState(false);
const [currentPage, setCurrentPage] = useState(1);
const [totalPages, setTotalPages] = useState(null);
const [transactionId, setTransactionId] = useState("");
const [IsUploadRecipt, setIsUploadRecipt] = useState(false);
const handleUploadReceipt = (id) => {
setTransactionId(id);
setIsUploadRecipt(true);
};
const fetchTransactions = async () => {
try {
setIsLoading(true);
const res = await paymentTransactionApi.transaction({
page: currentPage,
});
setTotalPages(res.data.data.last_page);
setCurrentPage(res.data.data.current_page);
if (res?.data?.error === false) {
setTransactions(res?.data?.data?.data);
} else {
toast.error(res?.data?.message);
}
} catch (error) {
console.log(error);
} finally {
setIsLoading(false);
}
};
const handlePageChange = (page) => {
setCurrentPage(page);
};
useEffect(() => {
fetchTransactions();
}, [currentPage]);
const getStatusBadge = (status) => {
switch (status) {
case "succeed":
return