import type { IPicGoCloudUserInfo } from '#/types/cloud' import { ExternalLinkIcon } from 'lucide-react' import { useTranslation } from 'react-i18next' import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { resolvePlanLabel } from '@/utils/plan' interface CloudAccountSummaryProps { userInfo: IPicGoCloudUserInfo isPaidUser: boolean onOpenCloud: () => void onLogout: () => void } export function CloudAccountSummary ({ userInfo, isPaidUser, onOpenCloud, onLogout }: CloudAccountSummaryProps) { const { t } = useTranslation() const userName = userInfo.user ?? '-' const fallbackText = userName.slice(0, 1).toUpperCase() return (
{userInfo.avatar ? : null} {fallbackText}
{userName}
{resolvePlanLabel(userInfo.plan)}
) }