| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| import React from 'react';
|
| import CardPro from '../../common/ui/CardPro';
|
| import RedemptionsTable from './RedemptionsTable';
|
| import RedemptionsActions from './RedemptionsActions';
|
| import RedemptionsFilters from './RedemptionsFilters';
|
| import RedemptionsDescription from './RedemptionsDescription';
|
| import EditRedemptionModal from './modals/EditRedemptionModal';
|
| import { useRedemptionsData } from '../../../hooks/redemptions/useRedemptionsData';
|
| import { useIsMobile } from '../../../hooks/common/useIsMobile';
|
| import { createCardProPagination } from '../../../helpers/utils';
|
|
|
| const RedemptionsPage = () => {
|
| const redemptionsData = useRedemptionsData();
|
| const isMobile = useIsMobile();
|
|
|
| const {
|
|
|
| showEdit,
|
| editingRedemption,
|
| closeEdit,
|
| refresh,
|
|
|
|
|
| selectedKeys,
|
| setEditingRedemption,
|
| setShowEdit,
|
| batchCopyRedemptions,
|
| batchDeleteRedemptions,
|
|
|
|
|
| formInitValues,
|
| setFormApi,
|
| searchRedemptions,
|
| loading,
|
| searching,
|
|
|
|
|
| compactMode,
|
| setCompactMode,
|
|
|
|
|
| t,
|
| } = redemptionsData;
|
|
|
| return (
|
| <>
|
| <EditRedemptionModal
|
| refresh={refresh}
|
| editingRedemption={editingRedemption}
|
| visiable={showEdit}
|
| handleClose={closeEdit}
|
| />
|
|
|
| <CardPro
|
| type='type1'
|
| descriptionArea={
|
| <RedemptionsDescription
|
| compactMode={compactMode}
|
| setCompactMode={setCompactMode}
|
| t={t}
|
| />
|
| }
|
| actionsArea={
|
| <div className='flex flex-col md:flex-row justify-between items-center gap-2 w-full'>
|
| <RedemptionsActions
|
| selectedKeys={selectedKeys}
|
| setEditingRedemption={setEditingRedemption}
|
| setShowEdit={setShowEdit}
|
| batchCopyRedemptions={batchCopyRedemptions}
|
| batchDeleteRedemptions={batchDeleteRedemptions}
|
| t={t}
|
| />
|
|
|
| <div className='w-full md:w-full lg:w-auto order-1 md:order-2'>
|
| <RedemptionsFilters
|
| formInitValues={formInitValues}
|
| setFormApi={setFormApi}
|
| searchRedemptions={searchRedemptions}
|
| loading={loading}
|
| searching={searching}
|
| t={t}
|
| />
|
| </div>
|
| </div>
|
| }
|
| paginationArea={createCardProPagination({
|
| currentPage: redemptionsData.activePage,
|
| pageSize: redemptionsData.pageSize,
|
| total: redemptionsData.tokenCount,
|
| onPageChange: redemptionsData.handlePageChange,
|
| onPageSizeChange: redemptionsData.handlePageSizeChange,
|
| isMobile: isMobile,
|
| t: redemptionsData.t,
|
| })}
|
| t={redemptionsData.t}
|
| >
|
| <RedemptionsTable {...redemptionsData} />
|
| </CardPro>
|
| </>
|
| );
|
| };
|
|
|
| export default RedemptionsPage;
|
|
|