| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| import React from 'react';
|
| import { Tag, Space, Skeleton } from '@douyinfe/semi-ui';
|
| import { renderQuota } from '../../../helpers';
|
| import CompactModeToggle from '../../common/ui/CompactModeToggle';
|
| import { useMinimumLoadingTime } from '../../../hooks/common/useMinimumLoadingTime';
|
|
|
| const LogsActions = ({
|
| stat,
|
| loadingStat,
|
| showStat,
|
| compactMode,
|
| setCompactMode,
|
| t,
|
| }) => {
|
| const showSkeleton = useMinimumLoadingTime(loadingStat);
|
| const needSkeleton = !showStat || showSkeleton;
|
|
|
| const placeholder = (
|
| <Space>
|
| <Skeleton.Title style={{ width: 108, height: 21, borderRadius: 6 }} />
|
| <Skeleton.Title style={{ width: 65, height: 21, borderRadius: 6 }} />
|
| <Skeleton.Title style={{ width: 64, height: 21, borderRadius: 6 }} />
|
| </Space>
|
| );
|
|
|
| return (
|
| <div className='flex flex-col md:flex-row justify-between items-start md:items-center gap-2 w-full'>
|
| <Skeleton loading={needSkeleton} active placeholder={placeholder}>
|
| <Space>
|
| <Tag
|
| color='blue'
|
| style={{
|
| fontWeight: 500,
|
| boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
|
| padding: 13,
|
| }}
|
| className='!rounded-lg'
|
| >
|
| {t('消耗额度')}: {renderQuota(stat.quota)}
|
| </Tag>
|
| <Tag
|
| color='pink'
|
| style={{
|
| fontWeight: 500,
|
| boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
|
| padding: 13,
|
| }}
|
| className='!rounded-lg'
|
| >
|
| RPM: {stat.rpm}
|
| </Tag>
|
| <Tag
|
| color='white'
|
| style={{
|
| border: 'none',
|
| boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
|
| fontWeight: 500,
|
| padding: 13,
|
| }}
|
| className='!rounded-lg'
|
| >
|
| TPM: {stat.tpm}
|
| </Tag>
|
| </Space>
|
| </Skeleton>
|
|
|
| <CompactModeToggle
|
| compactMode={compactMode}
|
| setCompactMode={setCompactMode}
|
| t={t}
|
| />
|
| </div>
|
| );
|
| };
|
|
|
| export default LogsActions;
|
|
|