حساب (Account)

یک حساب، سایت، رسانه یا کانال از مدل SocialAccount در ردیف، کارت یا سربرگ صفحه

معرفی

Account تنها کامپوننت نمایش یک حساب است: حساب شبکهٔ اجتماعی، وب‌سایت، رسانهٔ خبری یا کانال. دادهٔ آن یک SocialAccount است. هویت (نام، شناسه با جهت درست، نشان تأیید فقط وقتی منبع آن را گفته، حساب تجاری، حساب خصوصی به‌عنوان یک وضعیت)، عددهای حساب با MetricGroup و یک جایگاه aside برای مقدار زمینه (تعداد منشن یک موضوع، رتبه در یک فهرست، وضعیت پایش) را دارد.

چیدمانکجاقاعده
rowنتیجهٔ جست‌وجوی حساب، ردیف منشن، فهرست حساب‌هایک خط هویت، عددها در یک خط وقتی جا هست، aside در انتها
cardشبکهٔ حساب‌ها (حساب‌های مرتبط، اینفلوئنسرها)هویت کنار آواتار، دو خط بیوگرافی، عدد روی برچسبش؛ نه کارت وسط‌چین
headerسربرگ صفحهٔ یک حسابهویت و بیوگرافی در ابتدا، عددها در انتها

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

  • هر جا یک حساب نمایش داده می‌شود: نتیجهٔ جست‌وجو، ردیف منشن، حساب‌های مرتبط، سربرگ صفحهٔ حساب.
  • برای فهرست یا شبکهٔ حساب‌ها Account را داخل EntityCollection با entity="account" بگذارید (ردیف و کارت؛ کارت حساب شبکه است).

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

  • برای نویسندهٔ یک پست یا نظر: Post و Comment هویت نویسنده را خودشان نمایش می‌دهند.
  • برای کاربر واردشده به برنامه (منوی کاربر): از UserMenu استفاده کنید.
header

فروشگاه نمونه

حساب تجاری
@sample_shop2فروشگاه
فروش آنلاین لوازم خانگی با ارسال سریع به سراسر کشور. پشتیبانی هر روز از ساعت 9 تا 21.
  • 1,466,000دنبال‌کننده
  • 120دنبال‌شده
  • نامعلومپست
  • 2.1٪نرخ تعامل
row · aside
فروشگاه نمونهحساب تجاری
@sample_shop2فروشگاه
12 منشن
خبرگزاری نمونه
news.example.com
19 منشن
@private.userخصوصی
26 منشن
card

فروشگاه نمونه

حساب تجاری
@sample_shop2فروشگاه
فروش آنلاین لوازم خانگی با ارسال سریع به سراسر کشور. پشتیبانی هر روز از ساعت 9 تا 21.
  • 1,466,000دنبال‌کننده
  • 120دنبال‌شده
  • نامعلومپست
  • 2.1٪نرخ تعامل

خبرگزاری نمونه

news.example.com
  • 42رتبه

@private.user

خصوصی
  • نامعلومدنبال‌کننده

آناتومی

Account یک کامپوننت ترکیبی است؛ تکه‌هایش در همین صفحه مستند شده‌اند و جدول API هر تکه در بخش Props است.

فروشگاه نمونه

حساب تجاری
@sample_shop2فروشگاه
فروش آنلاین لوازم خانگی با ارسال سریع به سراسر کشور. پشتیبانی هر روز از ساعت 9 تا 21.
  • 1,466,000دنبال‌کننده
  • 120دنبال‌شده
  • نامعلومپست
  • 2.1٪نرخ تعامل
  1. 1Account.Identity — آواتار، نام، نشان تأیید و پلتفرم
  2. 2Account.Bio — معرفی حساب
  3. 3Account.Stats — دنبال‌کننده، تعامل و …

استفاده

'use client'

import { Account, type SocialAccount } from '@partodata/ui/social'

export function MentionRow({ account, mentions }: { account: SocialAccount; mentions: number }) {
  return (
    <Account
      account={account}
      layout="row"
      metrics={['followers', 'engagement']}
      aside={<span className="text-meta">{`${mentions} منشن`}</span>}
    />
  )
}

حساب پشت یک ردیف پست را accountFromPost از @partodata/ui/social/adapters می‌سازد؛ API حساب محصول مبدل خودش را دارد که عددها را با toCount و toRatio یک بار به مدل تبدیل می‌کند (نرخ تعامل درصدی با toRatio(value, { unit: 'percent' })).

حالت‌ها و انواع

  • هویت: نام اگر هست، وگرنه شناسه به‌عنوان عنوان؛ سایت و رسانه با دامنه (بدون @)، بقیه با شناسهٔ حساب. تصویر نداشتن یعنی حروف اول نام، نه تصویر یک چهرهٔ ناشناس؛ سازمان‌ها کاشی مربعی می‌گیرند و افراد دایره.
  • پرچم‌ها: تأییدشده فقط وقتی verified === true؛ حساب تجاری با flags.business؛ حساب خصوصی state: 'private' است.
  • عددها: دنبال‌کننده، دنبال‌شده، پست، نرخ تعامل و رتبه، با برچسب‌های هر منبع («عضو» در کانال تلگرام). نامعلوم «—».
  • ترکیب: بدون children ترکیب پیش‌فرض هر چیدمان؛ برای ترکیب دیگر Account.Select، Account.Identity، Account.Bio، Account.Stats، Account.Aside و Account.Actions را بچینید (در کامپوننت کلاینت). فقط جایگاه‌های چیده‌شده نمایش داده می‌شوند: حساب انتخاب‌شدنی Account.Select لازم دارد و ویژگی aside در ترکیب دلخواه نادیده می‌ماند (Account.Aside).
  • سربرگ: از عرض 40rem هویت و بیوگرافی و عددها کنار هم‌اند، حتی با بیوگرافی بلند؛ باریک‌تر، عددها زیر هویت می‌آیند.

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

بکنید

  • مقدار زمینه (منشن، رتبه، وضعیت پایش) را در aside بگذارید، نه در نام یا بیوگرافی.
  • عددهایی را که صفحه لازم دارد با metrics انتخاب کنید.
  • چیدمان پیش‌فرض row است (برخلاف Post و Comment که card است)؛ در شبکه layout="card" بدهید.
  • حساب را در ستونی با عرض معین بگذارید؛ هر حساب ظرف (container) خودش است و داخل والدی که عرضش از محتوا می‌آید عرضش صفر می‌شود.

نکنید

  • نشان تأیید را پیش‌فرض نگذارید؛ فقط وقتی منبع آن را می‌گوید.
  • عدد نامعلوم را 0 نکنید و نرخ درصدی را بدون تبدیل در مدل نگذارید.
  • کارت حساب وسط‌چین با حلقهٔ رنگی نسازید؛ layout="card" همین را درست نمایش می‌دهد.

Props

Account

Prop

Type

Account.Stats / AccountStatsProps

Prop

Type

Account.Actions / AccountActionsProps

Prop

Type

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

  • هر حساب یک article است که با نام (یا شناسه) نام‌گذاری می‌شود؛ نام در کارت و سربرگ عنوان است (h3 و h2).
  • شناسه و دامنه جزیرهٔ چپ‌به‌راست با ارقام لاتین‌اند: @sample_shop2، هرگز sample_shop2@.
  • وقتی onOpen هست، حساب فوکوس می‌گیرد و Enter آن را باز می‌کند؛ اقدامات کنترل‌های جدا هستند.

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

  • Post — پست‌های یک حساب.
  • EntityCollection — فهرست و شبکهٔ حساب‌ها.