| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| 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; |
|
|