| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 'use client'import type { FC } from 'react'import React from 'react'import { useTranslation } from 'react-i18next'import ProgressBar from '../progress-bar'import { NUM_INFINITE } from '../config'import Tooltip from '@/app/components/base/tooltip'type Props = {  className?: string  Icon: any  name: string  tooltip?: string  usage: number  total: number  unit?: string}const LOW = 50const MIDDLE = 80const UsageInfo: FC<Props> = ({  className,  Icon,  name,  tooltip,  usage,  total,  unit = '',}) => {  const { t } = useTranslation()  const percent = usage / total * 100  const color = (() => {    if (percent < LOW)      return '#155EEF'    if (percent < MIDDLE)      return '#F79009'    return '#F04438'  })()  return (    <div className={className}>      <div className='flex justify-between h-5 items-center'>        <div className='flex items-center'>          <Icon className='w-4 h-4 text-gray-700' />          <div className='mx-1 leading-5 text-sm font-medium text-gray-700'>{name}</div>          {tooltip && (            <Tooltip              popupContent={                <div className='w-[180px]'>                  {tooltip}                </div>              }            />          )}        </div>        <div className='flex items-center leading-[18px] text-[13px] font-normal'>          <div style={{            color: percent < LOW ? '#344054' : color,          }}>{usage}{unit}</div>          <div className='mx-1 text-gray-300'>/</div>          <div className='text-gray-500'>{total === NUM_INFINITE ? t('billing.plansCommon.unlimited') : `${total}${unit}`}</div>        </div>      </div>      <div className='mt-2'>        <ProgressBar          percent={percent}          color={color}        />      </div>    </div>  )}export default React.memo(UsageInfo)
 |