'use client'
import { formatNumberToKMB } from '@/lib/utils'
import Image from 'next/image'
import { AiChatRankOutput, AiHeartbeatRankOutput, AiGiftRankOutput } from '@/services/home/types'
import { RankType } from '@/types/global'
import Link from 'next/link'
interface SmallRankCardProps {
item: AiChatRankOutput | AiHeartbeatRankOutput | AiGiftRankOutput
rankType: RankType
rank?: number // 用于显示排名,如果不传则使用item.rankNo
}
export default function SmallRankCard({ item, rankType, rank }: SmallRankCardProps) {
// 根据排行榜类型获取对应的数值显示
const getDisplayValue = () => {
switch (rankType) {
case RankType.CHAT:
return formatNumberToKMB((item as AiChatRankOutput).chatNum || 0)
case RankType.CRUSH:
return `${(item as AiHeartbeatRankOutput).heartbeatValTotal || 0}℃`
case RankType.GIFTS:
return formatNumberToKMB(Math.floor(((item as AiGiftRankOutput).giftCoinNum || 0) / 100))
default:
return '0'
}
}
// 根据排行榜类型获取对应的图标
const getIcon = () => {
switch (rankType) {
case RankType.CHAT:
return
case RankType.CRUSH:
return