import { useState, useEffect, useCallback, useRef } from 'react';
import { useDispatch } from 'react-redux';
import { useNavigate, useLocation } from 'react-router-dom';
import { ArrowRightOutlined, ClockCircleOutlined } from '@ant-design/icons';
import { Space, Form } from 'antd';
import {
EditFilled,
DeleteFilled,
PlusOutlined,
ReloadOutlined,
} from '@ant-design/icons';
import { Tables } from '../../Components/Tables/Table.jsx';
import { Search } from '../../Components/Forms/Search.jsx';
import Buttons from '../../Components/Forms/Buttons.jsx';
import { Messages } from '../../Components/Notifications/Messages.jsx';
import FormHeader from '../PageComponents/FormHeader.jsx';
import { getSession } from '../../Services/Others.js';
import {
gettableupi,
delupi,
sendupiotp,
getupiotp,
} from '../../Features/UpiDetails/UpiDetails.js';
import { changeBreadCrumb } from '../../Features/AppPage/CenterPage.js';
import { DefaultModal } from '../../Components/Modal/DefaultModal.jsx';
const UpiDetailslist = () => {
const navigateTo = useNavigate();
const dispatch = useDispatch();
const location = useLocation();
const ref = useRef();
//local states
const [sortedInfo, setSortedInfo] = useState({});
const [searchedText, setSearchedText] = useState('');
const [messageType, setMessageType] = useState(null);
const [messageData, setMessageData] = useState(null);
const [tabledata, setTabledata] = useState();
const [OtpModal, setOtpModal] = useState(false);
const [SelectedRow, setSelectedRow] = useState();
const [SelectedRowIndex, setSelectedRowIndex] = useState();
const [apiotp, setapiotp] = useState('1234');
const [otp1, setotp1] = useState('');
const [otp2, setotp2] = useState('');
const [otp3, setotp3] = useState('');
const [otp4, setotp4] = useState('');
const [page, setpage] = useState(1);
const [disable, setDisable] = useState(false);
const [Status, setStatus] = useState(false);
const [timeLeft, setTimeLeft] = useState(null);
const CompId = getSession('CompId');
const BranchId = getSession('BranchId');
const AppId = getSession('AppId');
const UserId = getSession('UserId');
const subDirectory = import.meta.env.ENV_BASE_URL;
const items = [
{
name: 'Home',
link: `${subDirectory}app-page/home`,
},
{
name: 'UpiDetails',
link: `${subDirectory}setting/upi-details`,
},
];
const columns = [
{
title: 'Sl.No',
key: 'sno',
align: 'center',
width: '100px',
render: (text, object, index) => (
{(page - 1) * 10 + index + 1}
),
},
{
title: 'Name',
dataIndex: 'Name',
key: 'Name',
width: '100px',
render: (text) => {text},
filteredValue: [searchedText],
onFilter: (value, record) => {
return (
String(record.Name)?.toLowerCase()?.includes(value?.toLowerCase()) ||
String(record.Mobile)?.toLowerCase()?.includes(value?.toLowerCase()) ||
String(record.Mobile)?.toLowerCase()?.includes(value?.toLowerCase()) ||
String(record.Name)?.toLowerCase()?.includes(value?.toLowerCase())
);
},
sorter: (a, b) => a?.Name?.localeCompare(b?.Name),
sortOrder: sortedInfo.columnKey === 'Name' ? sortedInfo.order : null,
ellipsis: true,
},
{
title: 'Mobile No',
dataIndex: 'Mobile',
key: 'Mobile',
width: '100px',
align: 'right',
render: (text) => {text},
sorter: (a, b) => a?.Mobile?.localeCompare(b?.Mobile),
sortOrder: sortedInfo.columnKey === 'Name' ? sortedInfo.order : null,
ellipsis: true,
},
{
title: 'UPI ID',
dataIndex: 'UPIId',
key: 'UPIId',
width: '100px',
render: (text) => {text},
sorter: (a, b) => a?.UPIId?.localeCompare(b?.UPIId),
sortOrder: sortedInfo.columnKey === 'UPIId' ? sortedInfo.order : null,
ellipsis: true,
},
{
title: 'UPI NAME',
dataIndex: 'ModeName',
key: 'ModeName',
width: '100px',
render: (text) => {text},
sorter: (a, b) => a?.ModeName?.localeCompare(b?.UPIId),
sortOrder: sortedInfo.columnKey === 'ModeName' ? sortedInfo.order : null,
ellipsis: true,
},
{
title: 'Action',
key: 'Action',
dataIndex: 'Action',
width: '100px',
render: (_, record, index) =>
tabledata.length >= 1 ? (