import React from 'react'; import { Grid, Box, Flex, BoxProps, useTheme, Button, Table, Thead, Tbody, Tr, Th, Td, TableContainer } from '@chakra-ui/react'; import { useTranslation } from 'next-i18next'; import { useQuery } from '@tanstack/react-query'; import { getPromotionInitData, getPromotionRecords } from '@/api/user'; import { useUserStore } from '@/store/user'; import { useLoading } from '@/hooks/useLoading'; import MyTooltip from '@/components/MyTooltip'; import { QuestionOutlineIcon } from '@chakra-ui/icons'; import { useCopyData } from '@/utils/tools'; import { usePagination } from '@/hooks/usePagination'; import { PromotionRecordType } from '@/api/response/user'; import MyIcon from '@/components/Icon'; import dayjs from 'dayjs'; const Promotion = () => { const { t } = useTranslation(); const theme = useTheme(); const { copyData } = useCopyData(); const { userInfo } = useUserStore(); const { Loading } = useLoading(); const { data: promotionRecords, isLoading, total, pageSize, Pagination } = usePagination({ api: getPromotionRecords }); const { data: { invitedAmount = 0, earningsAmount = 0 } = {} } = useQuery( ['getPromotionInitData'], getPromotionInitData ); const statisticsStyles: BoxProps = { p: [4, 5], border: theme.borders.base, textAlign: 'center', fontSize: ['md', 'xl'], borderRadius: 'md' }; const titleStyles: BoxProps = { mt: 2, fontSize: ['lg', '28px'], fontWeight: 'bold' }; return ( {t('user.Amount of inviter')} {invitedAmount} {t('user.Amount of earnings')} {earningsAmount} {t('user.Promotion Rate')} {userInfo?.promotionRate || 15}% {t('user.Invite Url')} {promotionRecords.map((item) => ( ))}
时间 类型 金额(¥)
{item.createTime ? dayjs(item.createTime).format('YYYY/MM/DD HH:mm:ss') : '-'} {t(`user.promotion.${item.type}`)} {item.amount}
{!isLoading && promotionRecords.length === 0 && ( 无邀请记录~ )} {total > pageSize && ( )}
); }; export default Promotion;