"use client" import * as React from "react" import { Skeleton } from "@/components/ui/skeleton" import { cn } from "@/lib/utils" import type { UserRankResponse } from "@/lib/services/leaderboard" import { UserRound } from "lucide-react" interface UserRankCardProps { data: UserRankResponse | null loading?: boolean className?: string } export const UserRankCard = React.memo(function UserRankCard({ data, loading, className, }: UserRankCardProps) { if (loading) { return (

我的排名

{Array.from({ length: 2 }).map((_, index) => (
))}
) } return (

我的排名

{data ? ( <>
当前名次
#{data.user.rank.toLocaleString()}
可用积分
{parseFloat(data.user.available_balance).toFixed(2)}
) : (
当前状态
暂未进入榜单
继续积累可用积分后会出现在排行榜中。
)}
) })