پرتوپرتو

آواتار (Avatar)

نمایش تصویر پروفایل کاربر با پشتیبانی از fallback خودکار

معرفی

کامپوننت Avatar برای نمایش تصویر پروفایل کاربران استفاده می‌شود. در صورت عدم بارگذاری تصویر، به‌طور خودکار محتوای fallback (مثل حروف اول نام) را نمایش می‌دهد.

چه زمانی استفاده نکنیم:

  • برای لوگوی برند یا شرکت — از تگ <img> یا کامپوننت Logo استفاده کنید
  • برای آیکون‌های غیرشخصی — از Icon component استفاده کنید
  • بدون AvatarFallback — همیشه fallback تعریف کنید

استفاده

ساعرمح
import { Avatar, AvatarImage, AvatarFallback } from '@parto-system-design/ui'
<Avatar>
  <AvatarImage src="/avatar.jpg" alt="نام کاربر" />
  <AvatarFallback>م ا</AvatarFallback>
</Avatar>

زمین بازی

با تغییر تنظیمات زیر، آواتار را به صورت زنده مشاهده کنید.

زمین بازی
سا
تنظیمات
import { Avatar } from '@parto-system-design/ui'

<Avatar />

مثال‌ها

Fallback (بدون تصویر)

وقتی تصویر در دسترس نباشد، AvatarFallback به‌جای آن نمایش داده می‌شود:

<Avatar>
  <AvatarImage src="/broken-url.jpg" alt="کاربر" />
  <AvatarFallback>ک ز</AvatarFallback>
</Avatar>

اندازه‌های مختلف

از className برای تنظیم اندازه استفاده کنید (پیش‌فرض size-8):

<div className="flex items-center gap-4">
  <Avatar className="size-6">
    <AvatarImage src="/avatar.jpg" alt="کوچک" />
    <AvatarFallback className="text-xs">ک</AvatarFallback>
  </Avatar>

  <Avatar>
    <AvatarImage src="/avatar.jpg" alt="متوسط (پیش‌فرض)" />
    <AvatarFallback>م</AvatarFallback>
  </Avatar>

  <Avatar className="size-12">
    <AvatarImage src="/avatar.jpg" alt="بزرگ" />
    <AvatarFallback>ب</AvatarFallback>
  </Avatar>
</div>

گروه آواتار

چند آواتار در کنار هم با overlap:

<div className="flex -space-x-2">
  <Avatar className="border-2 border-background">
    <AvatarImage src="/user1.jpg" alt="کاربر ۱" />
    <AvatarFallback>ک۱</AvatarFallback>
  </Avatar>
  <Avatar className="border-2 border-background">
    <AvatarImage src="/user2.jpg" alt="کاربر ۲" />
    <AvatarFallback>ک۲</AvatarFallback>
  </Avatar>
  <Avatar className="border-2 border-background">
    <AvatarFallback aria-label="۳ نفر دیگر"></AvatarFallback>
  </Avatar>
</div>

Props

Avatar

Prop

Type

AvatarImage

Prop

Type

AvatarFallback

Prop

Type

راهنمای استفاده

بکنید

  • از آواتار در کنار نام کاربر استفاده کنید تا شناسایی سریع‌تر شود - همیشه alt مناسب و معنادار برای تصویر تعریف کنید
  • برای گروه آواتارها، شمارنده باقی‌مانده (مثل +۳) را با aria-label توضیح دهید

نکنید

  • از آواتار بدون نام کاربر در متن استفاده نکنید — به تنهایی ممکن است واضح نباشد - از تصاویر با کیفیت پایین استفاده نکنید — AvatarFallback را همیشه تنظیم کنید - بدون AvatarFallback از آواتار استفاده نکنید — در صورت خطای بارگذاری تصویر، UI خالی نمایش داده می‌شود

دسترسی‌پذیری

  • همیشه alt معنادار برای AvatarImage بدهید
  • برای آواتارهای تزئینی از alt="" استفاده کنید
  • متن fallback باید کوتاه و قابل فهم باشد (مثلاً حروف اول نام)
  • در گروه‌های آواتار، شمارنده (مثل +۳) را با aria-label توضیح دهید

کامپوننت‌های مرتبط

  • ProfileCard — اگر نیاز به نمایش کامل اطلاعات کاربر دارید، نه فقط آواتار
  • ProfileInfo — اگر نیاز به نمایش فشرده نام و آواتار در جدول یا لیست دارید