پرتوپرتو

سربرگ پست (PostHeader)

ردیف بالای پست — avatar، نام، handle، badge پلتفرم، timestamp، actions overflow

معرفی

PostHeader ردیف بالایی هر پست — avatar نویسنده + نام + handle + badge پلتفرم + timestamp + اکشن overflow. building block داخلی PostCard که برای کارت‌های سفارشی هم export شده.

@sara.ahmadi
·تحلیل۱۲۴ کامنت

زمین بازی

زمین بازی
@sara.ahmadi
·تحلیل۱۲۴ کامنت
تنظیمات
ظاهر
کد این نمونه به‌صورت خودکار قابل تولید نیست — برای کد آماده‌ی copy/paste به بخش «استفاده» در بالای صفحه مراجعه کنید.

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

  • ساخت کارت پست سفارشی که PostCard پوشش نمی‌دهد
  • header در PostDetailsDrawer با محتوای زیر آن متفاوت
  • توالی شبیه‌چت/comment thread که فقط header استاندارد می‌خواهد

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

  • در PostCard خود PostHeader به‌صورت داخلی wired است؛ نیازی به override نیست

استفاده

import { PostCard, PostHeader } from '@parto-system-design/ui'

// به‌صورت معمول از PostCard استفاده می‌شود — PostHeader به‌صورت داخلی wired است:
<PostCard post={post} />

// استفاده مستقیم برای کارت سفارشی:
<PostHeader
  author={post.author}
  platform={post.source}
  timestamp={post.timestamp}
  sentiment={post.sentiment}
  enrichments={post.enrichments}
  density="comfortable"
/>

density با والد PostCard همگام است (compact | comfortable).

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

بکنید

  • برای کارت‌های سفارشی، props را مستقیماً از PostData نگاشت کنید (author، platform={post.source}، timestamp) - برای avatar سفارشی از avatarClassName استفاده کنید — Avatar داخلی fallback initials را خودکار محاسبه می‌کند - در detail-view از density="comfortable" و در feed از density="compact" استفاده کنید

نکنید

  • PostHeader را داخل PostCard دوباره فراخوانی نکنید — PostCard خود header را شامل می‌شود - timestamp را به‌صورت string فرمت‌شده پاس ندهید — Date | string ISO | unix ms بدهید تا formatRelativeTime آن را محاسبه کند

جدول ویژگی‌ها

Prop

Type

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

  • زمان نسبی (e.g. «۲ ساعت پیش») داخل یک <Tooltip> که زمان مطلق دقیق را نشان می‌دهد wrap می‌شود — کاربران keyboard با Tab + Focus زمان دقیق را می‌بینند.
  • آیکون‌های platform badge و enrichment chipها decorative هستند؛ متن همراه (مثل «اینستاگرام»، «OCR») مسئول a11y است.
  • Avatar fallback از حروف اول نام سازنده تولید می‌شود؛ اگر تصویر load نشود، aria-label به‌صورت پیش‌فرض نام کامل را اعلام می‌کند.
  • این کامپوننت خود interactive نیست — focus + keyboard handling به عهده‌ی والد است.

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

  • کارت کامل پستPostCard
  • اکشن‌های جداگانهPostActions
  • ردیف اطلاعاتPostMetadata
  • محتواPostBody