// #region [Imports] ===================================================================================================
// Libraries
import { useEffect, useState } from 'react';
import { Card, Table, Pagination, Popover } from 'antd';
import { FileTextOutlined } from '@ant-design/icons';
import { getStoreCreditEntryPrefix } from '../../helpers/utils';
// Types
import { IStoreCreditEntry } from '../../types/storeCredits';
// #endregion [Imports]
// #region [Variables] =================================================================================================
declare var acfwAdminApp: any;
// #endregion [Variables]
// #region [Interfaces] ================================================================================================
interface IProps {
entries: IStoreCreditEntry[];
total: number;
loadEntries: (page: number) => void;
loaded: boolean;
}
// #endregion [Interfaces]
// #region [Component] =================================================================================================
const CustomerEntries = (props: IProps) => {
const { entries, total, loadEntries, loaded } = props;
const {
store_credits_page: { labels },
} = acfwAdminApp;
const [page, setPage] = useState(1);
const columns = [
{
title: labels.date,
dataIndex: 'date',
key: 'date',
},
{
title: labels.activity,
dataIndex: 'activity',
key: 'activity',
render: (text: string, record: IStoreCreditEntry) => {
return [
text,
record.note ? (
) : null,
];
},
},
{
title: labels.amount,
dataIndex: 'amount',
key: 'amount',
render: (text: string, record: IStoreCreditEntry) => {
return `${getStoreCreditEntryPrefix(record)}${text}`;
},
},
{
title: labels.related,
dataIndex: 'rel_label',
key: 'rel_label',
render: (label: string, record: IStoreCreditEntry) => {
if (!record.rel_link) return label;
return {label};
},
},
];
const handlePaginationClick = (value: number) => {
setPage(value);
loadEntries(value);
};
return (
{0 < total && (
)}
);
};
export default CustomerEntries;
// #endregion [Component]