حساب (Account)
یک حساب، سایت، رسانه یا کانال از مدل SocialAccount در ردیف، کارت یا سربرگ صفحه
معرفی
Account تنها کامپوننت نمایش یک حساب است: حساب شبکهٔ اجتماعی، وبسایت، رسانهٔ خبری یا کانال. دادهٔ آن یک
SocialAccount است. هویت (نام، شناسه با جهت درست، نشان تأیید فقط وقتی منبع آن را گفته،
حساب تجاری، حساب خصوصی بهعنوان یک وضعیت)، عددهای حساب با MetricGroup و یک جایگاه
aside برای مقدار زمینه (تعداد منشن یک موضوع، رتبه در یک فهرست، وضعیت پایش) را دارد.
| چیدمان | کجا | قاعده |
|---|---|---|
row | نتیجهٔ جستوجوی حساب، ردیف منشن، فهرست حسابها | یک خط هویت، عددها در یک خط وقتی جا هست، aside در انتها |
card | شبکهٔ حسابها (حسابهای مرتبط، اینفلوئنسرها) | هویت کنار آواتار، دو خط بیوگرافی، عدد روی برچسبش؛ نه کارت وسطچین |
header | سربرگ صفحهٔ یک حساب | هویت و بیوگرافی در ابتدا، عددها در انتها |
چه زمانی استفاده کنیم:
- هر جا یک حساب نمایش داده میشود: نتیجهٔ جستوجو، ردیف منشن، حسابهای مرتبط، سربرگ صفحهٔ حساب.
- برای فهرست یا شبکهٔ حسابها
Accountرا داخلEntityCollectionباentity="account"بگذارید (ردیف و کارت؛ کارت حساب شبکه است).
چه زمانی استفاده نکنیم:
- برای نویسندهٔ یک پست یا نظر:
PostوCommentهویت نویسنده را خودشان نمایش میدهند. - برای کاربر واردشده به برنامه (منوی کاربر): از
UserMenuاستفاده کنید.
آناتومی
Account یک کامپوننت ترکیبی است؛ تکههایش در همین صفحه مستند شدهاند و جدول API هر تکه در بخش Props است.
فروشگاه نمونه
حساب تجاری- 1,466,000
- 120
- نامعلوم
- 2.1٪
- 1
Account.Identity— آواتار، نام، نشان تأیید و پلتفرم - 2
Account.Bio— معرفی حساب - 3
Account.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
Account.Stats / AccountStatsProps
Account.Actions / AccountActionsProps
دسترسیپذیری
- هر حساب یک
articleاست که با نام (یا شناسه) نامگذاری میشود؛ نام در کارت و سربرگ عنوان است (h3وh2). - شناسه و دامنه جزیرهٔ چپبهراست با ارقام لاتیناند:
@sample_shop2، هرگزsample_shop2@. - وقتی
onOpenهست، حساب فوکوس میگیرد و Enter آن را باز میکند؛ اقدامات کنترلهای جدا هستند.
کامپوننتهای مرتبط
- Post — پستهای یک حساب.
- EntityCollection — فهرست و شبکهٔ حسابها.