بنر
کاربرد و حالتها
بنر برای دو چیز است: خطای فرم، یا وضعیتی که تصمیم کاربر را میخواهد. بنر تعارض sync زیر هدر میآید، کهربایی و بدون سایه است. موفقیتِ پسزمینهٔ sync ساکت است و بنر نمیگیرد.
ساختار: یک جمله که واقعیت را میگوید و یک عمل. تصمیم تعارض برای هر آیتم مستقل گرفته میشود؛ انتظار روی خود دکمه نشان داده میشود و بنر پس از آخرین تصمیم جمع میشود. فرم فقط وقتی بنر لازم دارد که خطا یا وضعیت واقعی وجود داشته باشد.
پلتفرم و دسترسپذیری
در وب، ErrorBanner نقش alert و OkBanner نقش status دارد. ConflictBannerUI فقط نمایشی است؛ منطق آن در features/sync زندگی میکند. دکمهٔ بنر یک دکمهٔ واقعی است و فوکوس اجباری جابهجا نمیشود. قرارداد دادهٔ تعارض: sync.
منبع وب: apps/calendar-web/src/components/ui/banners.tsx. این قرارداد هدف است؛ وضعیت اجرا در پذیرش واقعی. قواعد مشترک: کنتراست، فوکوس، لمس و حرکت.