Skip to the content.

← Индекс руу буцах

Dashboard / SaaS / ERP / admin UI-ийн бүтцийн хэв маяг

Яагаад

Админ, ERP, SaaS апп-ыг хэрэглэгч өдөр бүр олон цагаар хэрэглэнэ. Landing page шиг «сэтгэгдэл төрүүлэх» биш, урьдчилан таамаглаж болох, хурдан, алдаанаас хамгаалсан байх нь гол. Доорх хэв маягууд нь Linear, Stripe Dashboard, GitHub, Notion, Atlassian, Material 3, Carbon зэрэг системүүдэд давтагддаг нийтлэг шийдлүүд. Компонентын анатоми (товч, форм, table, modal, toast-ын хэмжээ/төлөв) 06-components.md хариуцна — энд бүтэц, урсгал, зан төлөв: хайлт, pagination, баталгаажуулалт, keyboard, permission, хадгалалт. Энэ файл өөрийн домэйнд 01–08-ыг дарна.

App shell

Хэсэг Хэмжээ Тайлбар
Sidebar (дэлгэсэн) 240–280px (default 240) label + icon
Sidebar (хумьсан) 56–64px (default 56) зөвхөн icon, hover-т tooltip (label-гүй icon хориотой)
Top bar 48–64px (default 56) breadcrumb/хайлт/tenant/профайл; position: sticky, --z-sticky
Content padding 24–32px (desktop) / 16px (mobile) 03-spacing-layout.md-г үз
Content max-width fluid, ≤1536px (table, chart, overview) · 720px (форм, settings, текст) хуудасны төрлөөр; нэг хуудсанд хольж болно

Тохиргоо хаана хадгалагдах

Төрөл Хаана Жишээ
Төхөөрөмжийн харагдац (density prefs) localStorage sidebar хумьсан/дэлгэсэн, density compact/default, theme
Өгөгдлийн харагдац (data prefs) URL query шүүлтүүр, сорт, хуудас, page size, tab, хайлтын q, огнооны муж
Аккаунтын тохиргоо Сервер (хэрэглэгчийн мөр) хэл, timezone, мэдэгдлийн тохиргоо, onboarding дууссан эсэх

Хуудасны загварууд

Overview (нүүр)

List → Detail

Хэлбэр Хэзээ
Тусдаа route (/orders/1042) Detail нь 1 дэлгэцээс урт, засвартай, хуваалцах URL хэрэгтэй — default
Master-detail (зүүн list 320–400px + баруун panel) Мөр хооронд хурдан шилжих (мэйл, чат, тикет); ≥1280px-д л, URL-тай, доош route болно
Side sheet / drawer (480–640px) Унших + 1–3 талбар засах; list-ийн контекст алдагдахгүй

Settings

Auth хуудсууд

Density (нягтралын горим)

Горим Table мөр Товч/input Body font Хэрэглээ
Compact 36px sm 32px 13px ERP, санхүү, олон мөр
Default 44px md 36px (lg 40 primary) 14px ихэнх SaaS
Comfortable 52px lg 40px 14px унших чиглэлтэй, touch-д

Table — зан төлөв

Анатоми (зэрэгцүүлэлт, zebra, header, мөрийн өндөр, sticky) 06-components.md-д. Энд үйлдлүүд.

Pagination

Хэлбэр Хэзээ
Offset (1 … 4 5 6 … 40) — default ≤10k мөр, хэрэглэгч тодорхой хуудас руу үсрэх хэрэгтэй
Cursor («Өмнөх / Дараах», «Цааш үзэх») >10k мөр эсвэл амьд өөрчлөгддөг өгөгдөл — offset мөр давхцуулна/алгасна; нийт тоо ойролцоогоор («1,000+»)
Infinite scroll зөвхөн feed/лог; table-д хэзээ ч биш (footer хүрэхгүй, байрлал алдагдана); дотор нь ч «Цааш үзэх» fallback + scroll position сэргээх

Detail хуудас

Апп доторх форм

Талбарын тоо Хэлбэр
1 Inline edit (дарахад input болно, Enter/blur хадгална, Esc буцна)
2–3 Modal (480–560px) эсвэл popover
4–8 Side sheet / drawer (560–640px)
>8 эсвэл олон хэсэгтэй Тусдаа хуудас, URL-тай (/orders/new), max-width 720

Feedback ба хугацаа

Хугацаа Шаардлага
≤100ms Шууд хариу мэт — ямар ч indicator хэрэггүй (hover, toggle, inline edit)
≤1s Урсгал тасрахгүй — товч loading төлөвт, курсор/spinner
≤10s Анхаарал хадгална — skeleton эсвэл progress; юу болж байгааг текстээр
>10s Progress bar + хувь/ETA, цуцлах боломж, background-д шилжүүлж дуусахад мэдэгдэл

Destructive үйлдэл ба баталгаажуулалт

Үйлдлийн эрсдэл Хэв маяг
Буцаах боломжтой (нэг бичлэг устгах, архивлах) Шууд гүйцэтгээд Undo toast 5с (soft delete, 5с дараа л бодит)
Буцаахгүй, дунд зэрэг (төслөө устгах, гишүүн хасах) Modal confirm
Bulk (олон мөр) Confirm + Undo 10с хоёулаа
Сүйрлийн (бүх өгөгдөл, аккаунт, tenant, production DB) Type-to-confirm

Эрхгүй (permission-denied) төлөв

Дүрэм Хэзээ
Нуух Үүрэгт огт хамааралгүй модуль/цэс (кассчинд «Billing settings»); нуугаад хуудсыг хоосон орхихгүй
Disable + tooltip Тухайн контекстэд байх ёстой, гэхдээ одоо хориотой үйлдэл («Зөвхөн админ баталгаажуулна»)
Харуулж тайлбарлах Хуудас руу шууд URL-аар орсон: 403 хуудас — хэн зөвшөөрөл өгөхийг + хүсэлт илгээх товч (14-app-resilience.md)

Permission-denied нь компонентын 5 төлөвийн нэг (06-components.md) — хоосон хуудас биш.

Хоосон төлөвийн хоёр төрөл

  First-run (анхны) Filtered (шүүлтүүрийн үр дүн 0)
Copy Юу болох, яагаад хэрэгтэйг 1–2 өгүүлбэр «“xyz”-д таарах бичлэг алга»
CTA Primary «Шинээр үүсгэх» + «Импортлох»/«Заавар» «Шүүлтүүрийг цэвэрлэх» (secondary)
Зураг Illustration болно, ≤200px Зураггүй, icon хангалттай
Өндөр Бүтэн content талбай Table header үлдэж, доор нь 160–240px

Keyboard ба command palette

Notifications · Multi-tenant · Audit

Хуудас бүрт байх ёстой

  1. h1 хуудасны нэр + primary action баруун дээд, нэг мөрөнд.
  2. Гүн ≥3 бол breadcrumb; sidebar-т active цэс bar + weight-тэй.
  3. 5 төлөв: loading (300ms-ийн дараах skeleton) / empty (first-run ба filtered тусдаа) / error (retry-тэй) / success / permission-denied.
  4. Шүүлтүүр, сорт, хуудас, tab, хайлт — бүгд URL-д; density/sidebar localStorage-д; аккаунтын тохиргоо серверт.
  5. Destructive үйлдэл: Undo 5с (bulk 10с) эсвэл confirm (үйлдлийн нэртэй товч); буцаашгүй бол type-to-confirm.
  6. Хадгалаагүй өөрчлөлтийн guard.
  7. Эрхгүй үйлдэл: нуух/disable+tooltip/тайлбарлах дүрмийн аль нэг нь ухамсартай сонгогдсон.
  8. Tenant нэр ба орчны баннер ил.
  9. Esc хаана, / хайлт, Cmd+K palette, focus-visible ажиллана.
  10. ≤1024px-д sidebar drawer, table эхний багана sticky, action-ууд overflow-д.
  11. Route солигдоход title + focus + announce; offline/session-expiry/stale баннерууд (14-app-resilience.md).

Эх сурвалж