خروجی طراحی UI راهاندازی ساختمان و عضویت
روش مرجع
این خروجی طبق استاندارد طراحی و تحویل UI تکمیل میشود.
فایل طراحی
- Tripylon در Figma
- File key:
P1GMvq87p0UBj76NREjPsN - آخرین Audit:
2026-08-22 - وضعیت: مسیر ثبتنام، خرید و راهاندازی ساختمان تا بازشدن داشبورد نهایی شده است؛ «امکانات ساکنان» و «اطلاعات تکمیلی» نیز تحویل شدهاند.
نتیجه Audit فعلی
| مورد | وضعیت مشاهدهشده | اقدام |
|---|---|---|
| Page اصلی | یک Page با نام Design |
تفکیک Pageها |
| فریمهای قابلویرایش | Splash، دو حالت Intro و Mobile |
نامگذاری پایدار بر اساس Flow |
| فریم ورود | 402 × 874 px |
اندازه مرجع مصوب محصول |
| مرجع وایرفریم | ۳۱ تصویر با نام image 1 تا image 31 |
انتقال به References و Rename |
| Component محلی | وجود ندارد | استخراج Componentهای پایه از صفحات اول |
| Component Library | Toolbar - Top روی Canvas |
بررسی سازگاری با UI محصول |
| Variable محلی | ۱۱ رنگ در Collection عمومی | بازطراحی Collection و Scope |
| Text Style | وجود ندارد | ساخت پس از تصویب Typography |
| Effect Style | وجود ندارد | ایجاد فقط در صورت نیاز |
| فونت | Yekan Bakh، SF Pro و Gilroy | Yekan Bakh فونت نهایی رابط فارسی است |
| Library متصل | Material 3، Simple Design System و Apple kits | Design System اختصاصی تریپیلون مبناست؛ Libraryهای متصل مرجع هستند |
بدهیهای باز
| شناسه | بدهی | اولویت | وضعیت |
|---|---|---|---|
UI-D-01 |
تعیین اندازه مرجع میان 390 × 844 وایرفریم و 402 × 874 Figma |
بالا | بسته — 402 × 874 |
UI-D-02 |
تعیین Font Family فارسی محصول | بالا | بسته — Yekan Bakh |
UI-D-03 |
ساخت یا انتخاب Button، Text Field و Feedback State | بالا | باز |
UI-D-04 |
اصلاح نام، Collection و Scope متغیرهای رنگ | بالا | باز |
UI-D-05 |
تفکیک Pageهای Foundations، Components، Screens و References | متوسط | باز |
UI-D-06 |
تعیین استفاده از Material 3 یا Design System اختصاصی | متوسط | بسته — Design System اختصاصی |
UI-D-07 |
طراحی Motion، مدت نمایش و Transition اسپلش | متوسط | برنامه آینده |
UI-D-08 |
طراحی Dark Mode و رفتار تصویرهای پسزمینه در تم تاریک | متوسط | برنامه آینده |
UI-D-09 |
تعریف Typography Scale و Weightهای مجاز Yekan Bakh | بالا | باز |
تصمیمهای بصری
| تاریخ | تصمیم | وضعیت |
|---|---|---|
2026-07-30 |
طراحی موبایل و RTL است. | قطعی |
2026-07-30 |
حداقل اندازه لمس 44 × 44 px است. |
قطعی |
2026-07-30 |
نسخه فعلی Splash ثابت است، پیش از Intro قرار میگیرد و Motion آن بعداً طراحی میشود. | قطعی |
2026-07-30 |
Intro از تصویر تمامصفحه با گرادیان تیره در پایین برای خوانایی متن استفاده میکند. | قطعی |
2026-07-30 |
آیکن اطلاعات روی Intro حفظ میشود و باتمشیت معرفی نام و قابلیتهای محصول را باز میکند. | قطعی |
2026-07-30 |
هنگام بازبودن باتمشیت، پسزمینه با Blur و Scrim از محتوای فعال جدا میشود. | قطعی |
2026-07-30 |
تولید صفحههای بعدی پس از تثبیت Componentهای ورود انجام میشود. | قطعی |
2026-07-30 |
اندازه مرجع صفحههای موبایل 402 × 874 px است. |
قطعی |
2026-07-30 |
Yekan Bakh فونت نهایی رابط فارسی محصول است. | قطعی |
2026-07-30 |
Design System اختصاصی تریپیلون مبنای Token و Component است؛ Material 3 مبنای محصول نیست. | قطعی |
2026-07-30 |
Dark Mode در فاز بعد اضافه میشود و خروجی فعلی فقط Light Mode است. | قطعی |
2026-07-31 |
مسیر بدون عضویت و دعوت از دو سطح کارت انتخاب و Bottom Sheet بررسی دعوت استفاده میکند. | قطعی |
2026-07-31 |
مرحله اول ثبت ساختمان با نشانگر کمرنگ مرحله، Header معرفی، گروه یکپارچه ورودی واحدها و خلاصه مجموع طراحی میشود. | قطعی |
2026-07-31 |
انتخاب دوره و بازبینی پرداخت در یک صفحه ادغام و ریز محاسبات با الگوی بصری رسید نمایش داده میشود. | قطعی |
2026-08-01 |
مالیات رسید فقط از مبلغ اشتراک پس از تخفیف محاسبه و شارژ اولیه پیامک خارج از پایه مالیات نمایش داده میشود. | قطعی |
2026-08-01 |
صفحه وضعیت پرداخت چهار State مستقل بررسی خودکار، تأخیر و Fallback، موفقیت آماده و شکست قطعی دارد. | قطعی |
2026-08-22 |
Dashboard راهاندازی پنج بخش دارد؛ امکانات ساکنان و اطلاعات تکمیلی دو بخش مستقلاند. | قطعی |
2026-08-22 |
مدلهای رزرو MVP شامل ساعتی، سانس ثابت و روز کاملاند؛ تنظیمات پیشرفته پس از راهاندازی در داشبورد تکمیل میشوند. | قطعی |
2026-08-22 |
اطلاعات تکمیلی اختیاری است و پس از تعیین تکلیف هر پنج بخش، کارت راهاندازی حذف و داشبورد ساختمان باز میشود. | قطعی |
2026-09-12 |
ثبت دستی واحد از Bottom Sheet تبدار به Flow تمامصفحه دومرحلهای «مشخصات واحد / افراد واحد» تغییر کرد. | قطعی |
2026-09-12 |
سایر مشخصات، قبض و حیوان خانگی در Bottom Sheetهای اختیاری باقی میمانند و نقش پیشنهادی اپ حذف شد. | قطعی |
تحویل صفحهها
| شناسه | وضعیت UX | وضعیت Writing | وضعیت UI | لینک Frame | حالتهای تکمیلشده |
|---|---|---|---|---|---|
SPLASH-01 |
نهایی؛ Motion باز | Approved |
Static نهایی | Splash | Static |
INTRO-01 |
نهایی | Approved |
نهایی | Default · About Open | Default، About Bottom Sheet |
WF-01 |
مسیر اصلی نهایی | Approved |
مسیر اصلی نهایی | Default · Focused/Filled · Loading | Default، Focus/Filled، Keyboard، Loading |
WF-02 |
نهایی | Approved |
نهایی | OTP Flow Section | Focus، Verifying، Invalid، Expired، Resend Available، Resending، Resend Failed |
WF-03 |
نهایی | Approved |
نهایی | No Invitation Flow Section | Default، Help Sheet، Checking، Empty، Network Error |
WF-04 |
مسیر اصلی نهایی؛ Stateهای خطا باز | متنهای اصلی Approved |
Filled / Valid نهایی | Basic Information Section | مرحله ۱ از ۲، Filled / Valid |
WF-05 |
مسیر اصلی نهایی؛ Stateهای خطا باز | متنهای اصلی Approved |
Default / Annual Selected نهایی | Setup Payment Flow | مرحله ۲ از ۲، خلاصه ساختمان، انتخاب دوره، رسید، Self-Declaration |
WF-06 |
چهار State اصلی نهایی | Approved |
نهایی | Payment Status Flow | Pending Auto، Pending Delayed، Success Ready، Failed Definitive |
WF-07 |
در انتظار | استخراج نشده | مرجع تصویری | — | — |
HOME-SETUP-01 |
مسیر اصلی نهایی | Approved |
نهایی | Home Setup Card | پیشرفت پنجبخشی؛ حذف پس از تعیین تکلیف همه بخشها |
WF-08 |
مسیر اصلی نهایی | Approved |
نهایی | Setup Dashboard | پنج بخش مستقل با ترتیب تکمیل آزاد |
WF-09 تا WF-16 |
نهایی؛ Stateهای خطا باز | متنهای اصلی Approved |
Flow دومرحلهای نهایی | Units & Residents Flow | Empty، مشخصات واحد، سایر مشخصات، قبض، حیوان خانگی، افراد حقیقی/حقوقی، Import، لیست و دعوت |
WF-17 تا WF-20 |
بازبینیشده | Approved |
Flow موجود؛ همگامسازی دسترسی خودکار باز | Building Team Flow | انتخاب مسئولیت، تعیین مسئول، جستوجو و ثبت شخص |
WF-21 تا WF-27 |
بازبینیشده | Approved |
Flow موجود؛ اصلاح قواعد محاسبه و Writing باز | Charge & Account Flow | روش تنظیم، محاسبه، قبض متغیر، بازبینی و حساب |
WF-28 تا WF-31 |
نهایی | Approved |
نهایی | Amenities Flow | انتخاب امکانات، ساعتی، سانسی، روز کامل، مبلغ و مرور نهایی |
WF-31A و WF-31B |
نهایی | Approved |
نهایی | Additional Information Flow | نشانی اختیاری، انتخاب یا بارگذاری تصویر و پایان راهاندازی |
WF-32 و WF-33 |
در انتظار | استخراج نشده | مرجع تصویری | — | — |
WF-34 و WF-35 |
در انتظار | استخراج نشده | مرجع تصویری | — | — |
SPLASH-01 — وضعیت طراحی
Preview
مشخصات فعلی
- Frame: Splash
- اندازه مرجع:
402 × 874 px - پسزمینه: رنگ یکدست سبز برند و Edge-to-edge
- محتوای مرکزی: Wordmark سفید Tripylon و Tagline انگلیسی
Property Management - تعامل: ندارد
- خروجی در اولین تجربه: انتقال خودکار به
INTRO-01 - وضعیت Motion: برای مرحله بعد برنامهریزی شده و جزو خروجی فعلی نیست
نکات تحویل
- نمایش Status Bar نباید باعث تغییر موقعیت مرکز بصری لوگو شود.
- Asset لوگو باید با کیفیت برداری و بدون Raster شدن استفاده شود.
- در پیادهسازی فعلی Fade ساده فقط در صورت نیاز فنی مجاز است؛ Motion برند پس از طراحی جداگانه جایگزین میشود.
- مدت نمایش نباید مستقل از آمادهبودن اپ و صرفاً بهصورت تأخیر تزئینی تعریف شود.
- نسخه Motion آینده باید Reduce Motion سیستمعامل را رعایت کند.
INTRO-01 — وضعیت طراحی
Preview
حالت Default
حالت About Open
فریمها
| حالت | لینک مستقیم | وضعیت |
|---|---|---|
| Default | Intro — Default | نهایی |
| About Open | Intro — About Bottom Sheet | نهایی |
ساختار بصری
- Frame مرجع:
402 × 874 px - جهت رابط: RTL
- پسزمینه: تصویر تمامصفحه از کاربر در فضای عمومی ساختمان
- هویت برند: لوگوی Tripylon در نیمه بالای صفحه
- کنترل اطلاعات: آیکن
iدر بالای صفحه با رنگ Accent - محتوای اصلی: عنوان دوخطی، توضیح کوتاه و CTA تمامعرض در ناحیه پایین
- خوانایی: گرادیان تیره و رنگی از پایین تصویر به سمت میانه
- CTA اصلی: دکمه «شروع کنید» با سطح روشن و متن همرنگ Accent
- About Open: باتمشیت سفید با گوشههای بالایی گرد، Drag Handle، تیتر مرکزی و محتوای راستچین
- پسزمینه About Open: Blur و Scrim برای حفظ Context و تمرکز روی Sheet
Interaction و تحویل
| عنصر | رفتار |
|---|---|
| دکمه «شروع کنید» | انتقال به WF-01 |
| آیکن اطلاعات | بازکردن حالت About Open |
| باتمشیت | نمایش داستان نام و معرفی قابلیتها؛ محتوا در ارتفاعهای کوتاهتر Scroll میشود |
| صفحه زیر باتمشیت | تا زمان بستهشدن Sheet تعاملی نیست |
محتوا و دسترسپذیری
- متن نهایی هر دو حالت در خروجی UX Writing ثبت شده است.
- نام دسترسپذیر آیکن اطلاعات «درباره تریپیلون» است.
- محدوده لمس آیکن اطلاعات و CTA حداقل
44 × 44 pxاست. - ترتیب خواندن: لوگو، آیکن اطلاعات، عنوان، توضیح و CTA؛ در حالت باز، تمرکز به عنوان باتمشیت منتقل میشود.
- Scroll باتمشیت نباید باعث Scroll یا جابهجایی صفحه پسزمینه شود.
موارد نیازمند تصمیم پیادهسازی
- نمایش Intro فقط در اولین اجرا یا پس از هر خروج از حساب
- بستن باتمشیت با لمس Scrim در کنار Swipe Down
- رفتار تصویر و Crop در نسبتهای کوتاهتر و بلندتر از Frame مرجع
WF-01 — وضعیت طراحی
Preview
حالت Default
حالت Focused / Filled
حالت Loading
فریمها
| حالت | لینک مستقیم | وضعیت |
|---|---|---|
| Default | Mobile — Default | نهایی |
| Focused / Filled | Mobile — Focused/Filled | نهایی |
| Loading | Mobile — Loading | نهایی |
ساختار و رفتار
- Frame مرجع:
402 × 874 px - تصویر معماری سیاهوسفید بهصورت تمامصفحه و لوگوی تریپیلون در بالای صفحه قرار دارند.
- فرم، یک کارت سفید شناور با عنوان، توضیح، Floating Text Field، متن حقوقی و CTA است.
- در Default، فیلد خالی و CTA غیرفعال است.
- در Focus، Label به بالای فیلد منتقل و Border با رنگ Accent نمایش داده میشود.
- در Filled، شماره حفظ و CTA پس از اعتبارسنجی فعال میشود.
- با بازشدن کیبورد عددی، کل کارت با فاصله امن بالای کیبورد Float میشود؛ تصویر پسزمینه ثابت میماند.
- با شروع ارسال، کیبورد بسته، ورودی قفل و CTA با Spinner و متن «در حال ارسال کد» نمایش داده میشود.
- لمس چندباره CTA هنگام Loading نادیده گرفته میشود.
- ارسال موفق کاربر را به
WF-02منتقل میکند.
نکات تحویل به توسعه
- شماره موبایل با جهت
LTRنمایش داده شود. - اعداد فارسی و انگلیسی پذیرفته و پیش از Validation و ارسال Normalize شوند.
- Floating Label باید Label معنایی واقعی برای Screen Reader باشد.
- جابهجایی کارت با Keyboard Insets واقعی دستگاه و همزمان با Animation کیبورد انجام شود؛ مقدار ثابت مبنا نباشد.
- لمس بیرون کارت، کیبورد را میبندد ولی مقدار واردشده را حفظ میکند.
- لینکهای شرایط استفاده و سیاست حریم خصوصی Target مستقل و قابل Focus دارند.
- Loading توسط متن و Spinner اعلام میشود و رنگ تنها نشانه وضعیت نیست.
- در صفحههای کوتاه، فیلد و CTA باید بدون همپوشانی با کیبورد قابل دسترس بمانند.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Mobile number Floating Text Field | الگوی بصری نهایی؛ استخراج Component باز |
| Primary Button / Disabled | الگوی بصری نهایی؛ استخراج Component باز |
| Primary Button / Loading | الگوی بصری نهایی؛ استخراج Component باز |
| Inline Validation | تعریف نشده |
| Snackbar یا Error Feedback | تعریف نشده |
WF-02 — وضعیت طراحی
Preview
منبع تحویل
- Section نهایی: OTP Flow
- اندازه Section:
3094 × 1086 px - اندازه هر Frame موبایل:
402 × 874 px - همه حالتهای OTP در همین Section نگهداری و تحویل میشوند.
حالتهای موجود
| حالت | Node | وضعیت |
|---|---|---|
| Focus / Empty | 165:2323 |
نهایی |
| Verifying | 181:232 |
نهایی |
| Invalid Code | 181:318 |
نهایی |
| Expired Code | 223:442 |
نهایی |
| Resend Available | 219:354 |
نهایی |
| Resending | 227:493 |
نهایی |
| Resend Failed | 227:541 |
نهایی |
| Resent | بازگشت به Countdown همراه پیام گذرا | رفتار نهایی؛ Frame مستقل ندارد |
ساختار بصری و Interaction
- صفحه Light Mode با پسزمینه روشن، لوگوی تریپیلون و کارت سفید شناور است.
- کنترل بازگشت در سمت راست و متناسب با RTL قرار دارد و به ویرایش شماره موبایل میرود.
- شماره Maskشده با الگوی
۰۹۱۲****۰۸۰نمایش داده میشود. - فیلد OTP یک ورودی منطقی ششرقمی با Floating Label است.
- کارت در حالت Keyboard Open بالای کیبورد Float میشود.
- ورود رقم ششم بررسی خودکار را آغاز میکند؛ CTA تأیید جداگانه وجود ندارد.
- Verifying و Resending با متن و Spinner نمایش داده میشوند.
- Invalid Code و Expired Code از Token خطا استفاده میکنند و پیام Inline دارند.
- پایان Countdown، Action «ارسال دوباره کد» را فعال میکند.
- Resend Failed پیام خطا و Action مستقل «تلاش دوباره» دارد.
- Resend موفق پیام گذرای «کد جدید ارسال شد.» را اعلام و Countdown را Reset میکند.
نکات تحویل به توسعه
- ورودی از Paste کامل، OTP AutoFill و اعداد فارسی و انگلیسی پشتیبانی میکند.
- کد و شماره موبایل با جهت
LTRرندر میشوند. - بررسی خودکار فقط پس از تکمیل شش رقم و یکبار اجرا میشود.
- هنگام Request، ورودی مربوط و Action تکراری قفل میشوند.
- تایمر Resend از زمان معتبر Server محاسبه میشود و با Background شدن اپ Reset نمیشود.
- Countdown Resend با مدت اعتبار OTP یکی نیست.
- Back شماره Maskشده را تغییر نمیدهد و کاربر را به
WF-01برمیگرداند. - Statusهای گذرا برای Screen Reader با Live Region مناسب اعلام میشوند.
- لمس Target کنترل بازگشت و Actionهای Resend حداقل
44 × 44 pxاست.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| OTP Floating Text Field | الگوی بصری نهایی؛ استخراج Component باز |
| OTP Inline Error | الگوی بصری نهایی؛ استخراج Component باز |
| OTP Status / Loading | الگوی بصری نهایی؛ استخراج Component باز |
| Resend Timer / Action | الگوی بصری نهایی؛ استخراج Component باز |
WF-03 — وضعیت طراحی
Preview
منبع تحویل
- Section نهایی: No Invitation Flow
- اندازه هر Frame موبایل:
402 × 874 px - صفحه انتخاب شروع و حالتهای Bottom Sheet بررسی دعوت در همین Section نگهداری میشوند.
حالتهای موجود
| حالت | وضعیت |
|---|---|
| Default / No Invitation | نهایی |
| Invitation Help Sheet | نهایی |
| Checking | نهایی |
| Empty Result | نهایی |
| Network Error | نهایی |
| Invitation Found | رفتار مسیریابی نهایی؛ Frame مستقل ندارد |
ساختار بصری و Interaction
- صفحه Light Mode با پسزمینه روشن، لوگوی تریپیلون و سطح محتوای سفید طراحی شده است.
- عنوان، انتخاب یکی از مسیرهای شروع را توضیح میدهد.
- کارت «ثبت ساختمان جدید» با سطح Primary مسیر اصلی و کارت «منتظر دعوت هستم» با Outline مسیر ثانویه است.
- کل سطح هر کارت قابل لمس است و آیکن فقط نشانه مکمل محسوب میشود.
- کارت انتظار دعوت، Bottom Sheet راهنما را باز میکند.
- Bottom Sheet دارای Drag Handle، کنترل بستن، متن راهنما، CTA اصلی و Action تغییر شماره موبایل است.
- هنگام بازبودن Sheet، پسزمینه با Blur و Scrim غیرفعال میشود.
- Checking با Spinner و متن مستقل نمایش داده میشود و فقط به انیمیشن متکی نیست.
- Empty Result بهصورت پیام خنثی و Network Error بهصورت Feedback بازیابیپذیر نمایش داده میشود.
- ارتفاع Sheet با محتوای وضعیت تطبیق دارد؛ تغییر ارتفاع باید بدون پرش ناگهانی Animate شود یا فضای Status از ابتدا رزرو شود.
نکات تحویل به توسعه
- نمایش این صفحه فقط پس از پاسخ قطعی «بدون عضویت فعال و بدون دعوت در انتظار» مجاز است.
- بررسی دعوت از شماره موبایل احرازشده استفاده میکند و شماره Maskشده با جهت
LTRرندر میشود. - هنگام Checking، ارسال درخواست تکراری مسدود میشود.
- انتخاب «تغییر شماره موبایل» Request جاری را لغو و کاربر را به
WF-01هدایت میکند. - در Empty Result، Sheet باز میماند و امکان بررسی دوباره یا تغییر شماره وجود دارد.
- در Network Error، CTA با «تلاش دوباره» Request را تکرار میکند.
- درصورت پیداشدن دعوت، Sheet بسته و Routing براساس نوع و تعداد دعوتها انجام میشود.
- Sheet با Swipe Down، لمس Scrim و کنترل بستن قابل خروج است.
- Focus هنگام بازشدن وارد Sheet و هنگام بستهشدن به کارت «منتظر دعوت هستم» بازمیگردد.
- پیامهای وضعیت برای Screen Reader با Live Region مناسب اعلام میشوند.
- محدوده لمس کارتها، کنترل بستن و Actionها حداقل
44 × 44 pxاست.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Routing Choice Card | الگوی بصری نهایی؛ استخراج Component باز |
| Invitation Help Bottom Sheet | الگوی بصری نهایی؛ استخراج Component باز |
| Inline Status / Empty | الگوی بصری نهایی؛ استخراج Component باز |
| Inline Network Feedback | الگوی بصری نهایی؛ استخراج Component باز |
WF-04 — وضعیت طراحی
Preview
منبع تحویل
- Section نهایی مسیر اصلی: Basic Information
- اندازه Frame موبایل:
402 × 874 px - حالت فعلی تحویل: Filled / Valid در مرحله اول از دو مرحله ثبت ساختمان
ساختار بصری
- App Bar شامل کنترل بازگشت در سمت راست، عنوان مرکزی «مشخصات پایه» و Badge کمرنگ «مرحله ۱ از ۲» در سمت چپ است.
- Badge مرحله Status غیرتعاملی است و با CTA اصلی رقابت بصری ندارد؛ Progress Bar جداگانه نمایش داده نمیشود.
- Header محتوا شامل آیکن ساختمان روی سطح Accent ملایم، عنوان و توضیح کوتاه است.
- نام ساختمان در Text Field تمامعرض نمایش داده میشود.
- ورودیهای مسکونی، تجاری و اداری داخل یک گروه مشترک با Dividerهای ظریف قرار دارند.
- هر ردیف Label، آیکن خطی هموزن و ورودی عددی همراه پسوند «واحد» دارد.
- خلاصه مجموع واحدها روی سطح Accent ملایم و CTA «مشاهده قیمت» با سطح Primary در انتهای فرم قرار دارند.
- آیکنها باید از یک خانواده، اندازه و Stroke Weight ثابت استفاده کنند؛ رنگ آنها نقش مکمل دارد و حامل مستقل معنا نیست.
Interaction و تحویل به توسعه
- کل فرم RTL است؛ مقدارهای عددی با جهت
LTRرندر میشوند. - فیلدهای تعداد از کیبورد عددی، اعداد فارسی و انگلیسی و مقدار صفر پشتیبانی میکنند.
- مقدار منفی، اعشاری و غیرعددی نامعتبر است.
- مجموع با هر تغییر بدون نیاز به Action جداگانه بهروز میشود.
- CTA فقط با نام غیرخالی، سه مقدار معتبر و مجموع حداقل ۲ فعال است.
- لمس کنترل بازگشت به مبدأ شروع ثبت ساختمان برمیگردد و داده Draft را در صورت وجود حفظ میکند.
- هنگام بازشدن کیبورد، فیلد Focusشده و پیام Validation آن باید بالای Keyboard Insets قابل مشاهده بمانند.
- در ارتفاعهای کوتاهتر، محتوا Scroll میشود و خلاصه و CTA نباید روی ورودیها همپوشانی پیدا کنند.
- «مشاهده قیمت» فقط یکبار Request ذخیره و محاسبه را آغاز میکند و تا دریافت نتیجه دوباره فعال نمیشود.
- تغییر اطلاعات پس از قیمتگذاری، قیمت قبلی را نامعتبر و محاسبه مجدد را الزامی میکند.
- محدوده لمس کنترل بازگشت، ورودیها و CTA حداقل
44 × 44 pxاست.
حالتهای موردنیاز
| حالت | وضعیت |
|---|---|
| Filled / Valid | نهایی |
| Empty / Initial | طراحی نشده |
| Name Required | طراحی نشده |
| Invalid Unit Count | طراحی نشده |
| Total Below Minimum | طراحی نشده |
| Calculating Price | طراحی نشده |
| Save / Pricing Failed | طراحی نشده |
| Return With Draft | رفتار قطعی؛ Frame مستقل ندارد |
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Step Badge | الگوی Filled / Informational نهایی؛ استخراج Component باز |
| Task Header with Icon | الگوی بصری نهایی؛ استخراج Component باز |
| Building Name Text Field | حالت Filled نهایی؛ Stateهای دیگر باز |
| Unit Count Group / Row | حالت Filled نهایی؛ Validation باز |
| Total Units Summary | حالت Valid نهایی؛ حالت حداقل نامعتبر باز |
| Primary CTA | حالت Enabled نهایی؛ Disabled و Loading باز |
WF-05 — وضعیت طراحی
Preview
منبع تحویل
- Section نهایی: Setup Payment Flow
- اندازه Frame موبایل:
402 × 874 px - حالت فعلی تحویل: دوره دوازدهماهه انتخابشده، Quote دریافتشده و Self-Declaration تأییدشده
ساختار بصری
- App Bar با کنترل بازگشت، عنوان «انتخاب اشتراک» و Badge «مرحله ۲ از ۲» است.
- کارت بالای صفحه Context پرداخت را با نام ساختمان، تعداد واحد محاسبهشده و Action ویرایش مشخص میکند.
- دورهها بهصورت گزینههای تمامعرض هستند؛ State انتخابشده با Surface Accent، Border Primary و Badge مزیت از حالت عادی جدا میشود.
- محاسبات در یک کارت سفید با لبههای نیمدایرهای بالا و پایین نمایش داده میشوند؛ این فرم عمدی است و الگوی رسید پرداخت را تقویت میکند.
- Dividerهای ظریف ردیفهای رسید را جدا میکنند و ردیف «قابل پرداخت» با Weight و رنگ قویتر تأکید میشود.
- Self-Declaration پس از رسید و پیش از CTA قرار دارد تا اثر حقوقی آن با Action پرداخت مرتبط بماند.
- CTA تمامعرض «پرداخت و راهاندازی» آخرین Action صفحه است.
Interaction و تحویل به توسعه
- انتخاب هر دوره کل کارت آن را بهعنوان Radio Option فعال میکند.
- State انتخاب باید برای Assistive Technology با
selectedیاcheckedمعنایی اعلام شود. - با تغییر دوره، رسید و مبلغ نهایی بدون جهش Layout بهروز میشوند.
- قیمت هر دوره باید در کارت همان دوره قابل مشاهده باشد.
- مالیات فقط از مبلغ اشتراک پس از تخفیف محاسبه میشود؛ ردیف شارژ اولیه پیامک خارج از پایه مالیات است.
- لبههای تزئینی رسید
aria-hiddenهستند و در ترتیب Focus قرار نمیگیرند. - مبلغها در کنار واحد «ریال» با جداکننده هزارگان و جهت یکپارچه نمایش داده میشوند.
- CTA تا انتخاب دوره، معتبربودن Quote و تأیید Self-Declaration غیرفعال است.
- پس از لمس CTA، دکمه Loading و همه Actionهای تکرارپذیر تا دریافت Payment Intent مسدود میشوند.
- ویرایش نام یا تعداد واحدها Quote قبلی را نامعتبر و محاسبه مجدد را الزامی میکند.
- محدوده لمس همه Actionها، Checkbox و کارتهای انتخابی حداقل
44 × 44 pxاست.
حالتهای موردنیاز
| حالت | وضعیت |
|---|---|
| Annual Selected / Valid | نهایی |
| Quarterly Selected / Valid | رفتار قطعی؛ Frame مستقل باز |
| Quote Loading / Skeleton | طراحی نشده |
| Quote Failed | طراحی نشده |
| Stale Quote / Recalculating | طراحی نشده |
| Declaration Unchecked / CTA Disabled | طراحی نشده |
| Payment Starting | طراحی نشده |
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Building Context Summary | الگوی بصری نهایی؛ استخراج Component باز |
| Subscription Period Option | Annual Selected نهایی؛ Stateهای دیگر باز |
| Payment Receipt | الگوی بصری نهایی؛ Amount Stateها باز |
| Self-Declaration Checkbox | Checked نهایی؛ Unchecked و Error باز |
| Primary Payment CTA | Enabled نهایی؛ Disabled و Loading باز |
WF-06 — وضعیت طراحی
Preview
منبع تحویل
- Section نهایی: Payment Status Flow
- اندازه Frame موبایل:
402 × 874 px - Stateهای تحویلشده: Pending / Auto Check، Pending / Delayed، Success / Ready، Failed / Definitive
ساختار بصری
- همه Stateها App Bar، Hero وضعیت و کارت جزئیات پرداخت یکسان دارند.
- آیکن ساعتشنی روی Surface Accent حالت بررسی، Check حالت موفق و نشان هشدار روی Surface Error حالت ناموفق را مشخص میکنند.
- کارت جزئیات سه ردیف ساختمان، مبلغ و شناسه پیگیری دارد؛ Action کپی در کنار شناسه قرار میگیرد.
- پیام ایمنی روی Surface Accent فقط در Pending نمایش داده میشود.
- CTA تمامعرض در پایین صفحه و فقط در Stateهایی که به Action کاربر نیاز دارند نمایش داده میشود.
Stateها و Interaction
| State | CTA | رفتار |
|---|---|---|
| Pending / Auto Check | ندارد | بررسی خودکار؛ آیکن دارای Motion آرام در پیادهسازی |
| Pending / Delayed | بهروزرسانی وضعیت | نمایش پس از تأخیر غیرعادی یا خطای موقت؛ Loading هنگام لمس |
| Success / Ready | ورود به داشبورد | فقط پس از تکمیل Provisioning |
| Failed / Definitive | پرداخت و راهاندازی | شروع Payment Attempt جدید؛ فقط پس از شکست قطعی |
- تغییر State باید بدون Reload صفحه و بدون ازدسترفتن Payment Context انجام شود.
- مبلغ و شناسه پیگیری در همه Stateها با Payment Attempt یکسان میمانند.
- Action کپی محدوده لمس حداقل
44 × 44 pxو نام دسترسپذیر «کپی شناسه پیگیری» دارد. - پس از کپی، Feedback «شناسه پیگیری کپی شد» نمایش و برای Screen Reader اعلام میشود.
- ساخت Payment Attempt جدید در Pending مسدود است.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Payment Status Hero | چهار State نهایی؛ Motion پیادهسازی باز |
| Payment Detail Card | الگوی بصری نهایی |
| Copy Reference Action | الگوی بصری نهایی؛ Feedback State باز |
| Payment Safety Notice | Pending نهایی |
| Payment Status CTA | Auto-hidden، Refresh، Dashboard و Retry نهایی |
HOME-SETUP-01 — وضعیت طراحی
Preview
منبع تحویل
- Frame نهایی: HomePage
- Node ID:
531:1488 - اندازه Frame موبایل:
402 × 874 px - نمونه جاری: یک بخش از پنج بخش تعیین تکلیف شده و Progress برابر
۲۰٪
ساختار بصری و Interaction
- Header شامل Context Switcher مرکزی با Role، نام ساختمان و Caret رو به پایین است.
- کنترل بازگشت در صفحه اصلی نمایش داده نمیشود.
- کارت
370 × 188 pxدر ابتدای محتوای صفحه اصلی قرار دارد. - عنوان و آیکن هدف در بالای کارت، Progress Bar و شمارنده در میانه، و CTA تمامعرض
338 × 54 pxدر پایین قرار دارند. - Fill نوار برای یک بخش از پنج بخش معادل
۲۰٪Track داخلی است. - CTA و تمام سطح کارت
WF-08را برای همان Current Building باز میکنند. - کارت پس از تعیین تکلیف هر پنج بخش حذف میشود و State صددرصد در Home نمایش داده نمیشود.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Building Context Switcher | Default نهایی؛ نام طولانی و چند Context باز |
| Home Setup Card | مسیر اصلی نهایی |
| Home Setup Progress | Partial نهایی؛ Loading و Error باز |
| Home Setup CTA | Default نهایی |
WF-08 — وضعیت طراحی
Preview
منبع تحویل
- Frame نهایی: building information progress
- Node ID:
467:726 - اندازه Frame موبایل:
402 × 874 px - ساختار جاری: پنج بخش مستقل
ساختار بصری
- Toolbar بالای صفحه شامل Status Bar، عنوان «تکمیل راهاندازی» و کنترل بازگشت در سمت راست RTL است.
- Hero شامل تصویر ساختمان، نام Current Building و توضیح انتخاب آزاد ترتیب بخشها است.
- Progress Bar زیر Hero قرار دارد و شمارنده «۱ بخش از ۵ بخش تکمیل شده» را نمایش میدهد.
- فهرست پنجردیفی شامل واحدها و ساکنان، تیم ساختمان، شارژ و حساب، امکانات ساکنان و اطلاعات تکمیلی است.
- هر ردیف شامل آیکن سمت راست، عنوان و توضیح، و Badge وضعیت در سمت چپ است.
- Dividerها از محدوده متن و Status عبور نمیکنند و ردیف آخر Divider پایانی ندارد.
- پیام Informational با Surface سبز روشن و آیکن اطلاعات در پایین فهرست قرار دارد.
Stateها و Interaction
| State | نمایش |
|---|---|
COMPLETED |
Badge سبز روشن با متن «تکمیل شده» |
IN_PROGRESS |
Badge خنثی با متن «در حال تکمیل {percent}٪» |
NOT_STARTED |
Badge خنثی با متن «تکمیل نشده» |
NOT_APPLICABLE |
Badge خنثی مستقل با متن «در این ساختمان وجود ندارد» |
DEFERRED |
Badge خنثی مستقل با متن «فعلاً تکمیل شده» |
- تمام سطح ردیف باید Interactive و محدوده لمس آن حداقل
44 pxباشد. - Tap هر ردیف کاربر را به Flow متناظر همان بخش میبرد و ترتیب اجباری وجود ندارد.
- Back به صفحه اصلی Current Building برمیگردد و Draftهای ثبتشده را حفظ میکند.
- Progress Bar و Badgeها باید علاوه بر رنگ، مقدار متنی قابلدسترسی داشته باشند.
- نام ساختمان Dynamic است و از Current Context دریافت میشود.
Componentهای موردنیاز
| Component | وضعیت |
|---|---|
| Setup Dashboard Hero | الگوی بصری نهایی |
| Setup Overall Progress | Default نهایی؛ State کامل باز |
| Setup Section Row | Completed، In Progress و Not Started نهایی |
| Setup Status Badge | سه State اصلی نهایی؛ Not Applicable و Deferred باز |
| Setup Deferred Notice | الگوی بصری نهایی |
| Building Illustration | Asset نهایی؛ رفتار Fallback باز |
WF-09 تا WF-16 — واحدها و ساکنان
Preview
منبع تحویل و محدوده
- Flow: ایجاد واحدها و ساکنان
- Node ID:
597:747 - اندازه مرجع Frameها:
402 × 874 px - نماهای پوششدادهشده: Empty State، ثبت دستی دومرحلهای، سایر مشخصات، افزودن قبض، افزودن حیوان خانگی، افزودن فرد حقیقی/حقوقی، Import از Excel، Preview فایل، لیست واحدها و دعوت.
- وضعیت سکونت با Segmented Control «دارای ساکن / بدون ساکن» نمایش داده میشود و مستقل از وجود مالک است.
- مرحله اول یک صفحه کامل برای مشخصات واحد است. شماره یا نام، بلوک، طبقه، نوع، مساحت، وضعیت سکونت و در حالت دارای ساکن تعداد ساکنان را دریافت میکند.
- «سایر مشخصات»، «افزودن قبض» و «افزودن حیوان خانگی» ردیفهای Action اختیاریاند و Bottom Sheet مستقل باز میکنند.
- مرحله دوم خلاصه واحد، فهرست افراد، Action افزودن فرد، CTA تأیید و ثبت و Action بازگشت به مرحله اول دارد.
- «رابطه با واحد» شامل مالک، مستأجر و ساکن است. مالک و مستأجر میتوانند همزمان گزینه سکونت را داشته باشند؛ برای ساکن این گزینه تکرار نمیشود.
- سهم مالکیت فقط برای مالک و با انتخاب واحد دنگ یا درصد نمایش داده میشود.
- «نقش پیشنهادی در اپ» در این فرم وجود ندارد؛ دسترسی پیشفرض از رابطه مشتق و فقط پس از دعوت فعال میشود. ارسال دعوت تصمیمی مستقل است.
- اطلاعات تکمیلی فرد بین حقیقی و حقوقی تغییر میکند.
- شماره موبایل خالی Import را مسدود نمیکند؛ تشخیص Person تکراری با موبایل نرمالشده انجام میشود.
WF-17 تا WF-20 — تیم ساختمان
Preview
منبع تحویل و محدوده
- Flow: مدیران، هیئتمدیره و کارکنان
- Node ID:
832:4219 - اندازه مرجع Frameها:
402 × 874 px - ساختار جاری دو مرحله دارد: «انتخاب مسئولیتها» و «تعیین مسئولها».
- مدیریت، هیئتمدیره و کارکنان در یک بخش «تیم ساختمان» قرار دارند؛
OBM-UF-05صفحه مستقلی ندارد. BUILDING_ADMINاجباری و قفلشده است. دسترسیها خودکارند و Onboarding فقط خلاصه Informational نمایش میدهد.- جستوجوی Person موجود و ثبت شخص جدید در یک Context انجام میشود.
- نقش تکمسئول CTA «تأیید مسئول» و نقش چندنفره CTA «تأیید اعضا» دارد.
WF-21 تا WF-27 — برنامه شارژ و حساب ساختمان
Preview
منبع تحویل و محدوده
- Flow: تنظیم شارژ و معرفی حساب
- Node ID:
908:8021 - اندازه مرجع Frameها:
402 × 874 px - مراحل جاری: روش تنظیم، محاسبه مبلغ، قبضهای متغیر، بازبینی محاسبه و روش دریافت/حساب.
- شروع سریع شامل «یکسان»، «گروهی» و «واحدبهواحد» است؛ مبلغ اختصاصی واحد بر گروه و مبلغ عمومی اولویت دارد.
- محاسبه دقیق برای هر ردیف هزینه، یک مبنای تخصیص، دامنه، تاریخ اثر و سیاست گردکردن میگیرد.
- آب و هزینههای مشابه قبض مستقلاند و Snapshot تعداد ساکنان دوره را استفاده میکنند.
- Preview باید جمعها را Reconcile و دلیل مبلغ هر واحد را Explain کند.
- همه مبالغ رابط «تومان» هستند؛ ذخیره برنامه Publish نیست و Schedule فقط Draft میسازد.
- Success به صفحه اصلی برمیگردد و Failure دادههای Draft و Action تلاش مجدد را حفظ میکند.
WF-28 تا WF-31 — امکانات ساکنان
Preview
منبع تحویل و محدوده
- Flow: امکانات ساختمان
- Node ID:
1108:2501 - اندازه مرجع Frameها:
402 × 874 px - ورودی فقط امکاناتی را پوشش میدهد که زمان یا روز مشخص را برای یک رزروکننده مسدود میکنند.
- مدلهای رزرو MVP سه حالت مستقل دارند: «ساعتی»، «سانس ثابت» و «روز کامل».
- در رزرو ساعتی، بازه مجاز و مبلغ هر ساعت؛ در سانسی، چند سانس با شروع/پایان و مبلغ؛ و در روز کامل، روزهای مجاز و مبلغ هر روز ثبت میشود.
- روز کامل انتخاب تاریخ است و کل آن تاریخ را برای آمادهسازی، استفاده و نظافت مسدود میکند؛ بنابراین معادل سانس نیست.
- «استفاده آزاد بدون رزرو» در این Flow وجود ندارد. خدمت بدون تخصیص زمان، مانند تحویل لباس به خشکشویی، در ماژول درخواست خدمات تعریف میشود.
- محدودیتهای پیشرفته، استثناهای تقویم و سیاستهای پیچیده پس از پایان راهاندازی در داشبورد قابل تکمیلاند.
WF-31A و WF-31B — اطلاعات تکمیلی و پایان راهاندازی
Preview
منبع تحویل و محدوده
- Flow: اطلاعات تکمیلی
- Node ID:
1349:6973 - اندازه مرجع Frameها:
402 × 874 px - مرحله ۱ از ۲ نشانی ساختمان را با استان، شهر، نشانی کامل، پلاک و کدپستی دریافت میکند.
- مرحله ۲ از ۲ امکان انتخاب آواتار یا بارگذاری
jpg،pngوwebpتا حداکثر ۲ مگابایت را میدهد. - این بخش اجباری نیست؛ «ردکردن» نیز باید بهعنوان تعیین تکلیف بخش ذخیره شود تا کاربر در حلقه راهاندازی باقی نماند.
- با تعیین تکلیف این بخش و چهار بخش دیگر، کارت موقت راهاندازی حذف و داشبورد ساختمان باز میشود.
- نشانی، تصویر و تنظیمات تکمیلی بعداً از داشبورد ساختمان قابل ویرایشاند.
الگوهای UI واحدها، تیم و شارژ
| Context | الگوی قطعی |
|---|---|
| وضعیت سکونت واحد | Segmented Control «دارای ساکن / بدون ساکن»؛ نه Switch |
| ثبت دستی واحد | دو صفحه کامل با Step Indicator؛ مرحله اول مشخصات و مرحله دوم افراد |
| اطلاعات اختیاری واحد | ردیف Action با وضعیت خلاصه و Bottom Sheet مستقل برای سایر مشخصات، قبض و حیوان خانگی |
| رابطه سکونت فرد | برای مالک/مستأجر Switch «در این واحد سکونت دارد»؛ برای ساکن بدون کنترل اضافه |
| سهم مالکیت | ورودی عددی همراه Segmented Control «دنگ / درصد» و جمع قابلاعتبارسنجی |
| انتخاب مسئولیت تیم | Switch فقط برای وجود/عدم وجود مسئولیت؛ ادمین ساختمان Disabled + Checked |
| دسترسی مسئولیت | Information Bottom Sheet بدون کنترل ویرایش |
| انتخاب شخص | Search و فرم ثبت سریع در یک صفحه؛ نتیجههای موجود پیش از فرم جدید |
| تکمسئول/چندمسئول | Radio یا Single Select برای تکمسئول؛ Checkbox و شمارنده برای اعضا |
| روش شروع سریع | Tab/Segment سهحالته «یکسان / گروهی / واحدبهواحد» |
| گروه و استثنا | دو Action مستقل؛ Priority Override در توضیح Inline |
| قبض متغیر | Bottom Sheet با عنوان «افزودن قبض یا هزینه متغیر» |
| بازبینی مبلغ | Expandable breakdown با Action «چرا این مبلغ محاسبه شده؟» |
| نتیجه ذخیره | Success و Failure Sheet/Page؛ در Failure دادههای فرم حفظ میشوند |
- تمام مبالغ با «تومان» نمایش داده میشوند و ورودی عددی Formatting گروه سهرقمی دارد.
- Sticky CTA فقط پس از اعتبارسنجی Context فعال میشود؛ خطای جمع یا واحد بدون مبلغ مانع ادامه است.
- Bottom Sheet فیلتر فهرست و Bottom Sheet اطلاعات دسترسی دو Component جدا با عنوان و Actionهای متفاوتاند.
- اطلاعات کارت، حساب و شبا Mask میشوند و Reveal فقط پس از Authorization مجاز است.
موارد باز UI
- Typography Scale، Line Height و Weightهای مجاز Yekan Bakh
- استخراج Componentها و Tokenهای مصوب در Design System اختصاصی
- تعریف رنگها، تصاویر و کنتراست Dark Mode در فاز بعد
- طراحی Stateهای Empty، Validation، Calculating و Save Failed برای
WF-04 - طراحی Stateهای Quote Loading، Quote Failed، Stale Quote، Quarterly Selected، Declaration Unchecked و Payment Starting برای
WF-05 - طراحی نمونه کاملشده،
NOT_APPLICABLE،DEFERRED، Loading و Save Failed برایWF-08 - طراحی Stateهای Validation و Save Failed برای امکانات و خطای فرمت/حجم تصویر اطلاعات تکمیلی