mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-04-28 03:48:38 +00:00
✨ feat: Update subscription purchase modal display
Show total quota as currency with tooltip for raw quota, hide reset cycle when never, and display upgrade group when configured to match card display rules.
This commit is contained in:
@@ -26,10 +26,12 @@ import {
|
|||||||
Button,
|
Button,
|
||||||
Select,
|
Select,
|
||||||
Divider,
|
Divider,
|
||||||
|
Tooltip,
|
||||||
} from '@douyinfe/semi-ui';
|
} from '@douyinfe/semi-ui';
|
||||||
import { Crown, CalendarClock, Package } from 'lucide-react';
|
import { Crown, CalendarClock, Package } from 'lucide-react';
|
||||||
import { SiStripe } from 'react-icons/si';
|
import { SiStripe } from 'react-icons/si';
|
||||||
import { IconCreditCard } from '@douyinfe/semi-icons';
|
import { IconCreditCard } from '@douyinfe/semi-icons';
|
||||||
|
import { renderQuota } from '../../../helpers';
|
||||||
import { getCurrencyConfig } from '../../../helpers/render';
|
import { getCurrencyConfig } from '../../../helpers/render';
|
||||||
|
|
||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
@@ -145,6 +147,7 @@ const SubscriptionPurchaseModal = ({
|
|||||||
</Text>
|
</Text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{formatResetPeriod(plan, t) !== t('不重置') && (
|
||||||
<div className='flex justify-between items-center'>
|
<div className='flex justify-between items-center'>
|
||||||
<Text strong className='text-slate-700 dark:text-slate-200'>
|
<Text strong className='text-slate-700 dark:text-slate-200'>
|
||||||
{t('重置周期')}:
|
{t('重置周期')}:
|
||||||
@@ -153,17 +156,36 @@ const SubscriptionPurchaseModal = ({
|
|||||||
{formatResetPeriod(plan, t)}
|
{formatResetPeriod(plan, t)}
|
||||||
</Text>
|
</Text>
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
<div className='flex justify-between items-center'>
|
<div className='flex justify-between items-center'>
|
||||||
<Text strong className='text-slate-700 dark:text-slate-200'>
|
<Text strong className='text-slate-700 dark:text-slate-200'>
|
||||||
{t('总额度')}:
|
{t('总额度')}:
|
||||||
</Text>
|
</Text>
|
||||||
<div className='flex items-center'>
|
<div className='flex items-center'>
|
||||||
<Package size={14} className='mr-1 text-slate-500' />
|
<Package size={14} className='mr-1 text-slate-500' />
|
||||||
|
{totalAmount > 0 ? (
|
||||||
|
<Tooltip content={`${t('原生额度')}:${totalAmount}`}>
|
||||||
<Text className='text-slate-900 dark:text-slate-100'>
|
<Text className='text-slate-900 dark:text-slate-100'>
|
||||||
{totalAmount > 0 ? totalAmount : t('不限')}
|
{renderQuota(totalAmount)}
|
||||||
|
</Text>
|
||||||
|
</Tooltip>
|
||||||
|
) : (
|
||||||
|
<Text className='text-slate-900 dark:text-slate-100'>
|
||||||
|
{t('不限')}
|
||||||
|
</Text>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{plan?.upgrade_group ? (
|
||||||
|
<div className='flex justify-between items-center'>
|
||||||
|
<Text strong className='text-slate-700 dark:text-slate-200'>
|
||||||
|
{t('升级分组')}:
|
||||||
|
</Text>
|
||||||
|
<Text className='text-slate-900 dark:text-slate-100'>
|
||||||
|
{plan.upgrade_group}
|
||||||
</Text>
|
</Text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
) : null}
|
||||||
<Divider margin={8} />
|
<Divider margin={8} />
|
||||||
<div className='flex justify-between items-center'>
|
<div className='flex justify-between items-center'>
|
||||||
<Text strong className='text-slate-700 dark:text-slate-200'>
|
<Text strong className='text-slate-700 dark:text-slate-200'>
|
||||||
|
|||||||
Reference in New Issue
Block a user