Tiêu chuẩn Layout Trang (Page Layout)
Tài liệu này quy định cấu trúc chuẩn của một trang (Page) trong hệ thống VPPOS Admin để đảm bảo tính nhất quán về mặt thị giác và luồng trải nghiệm.
1. Cấu trúc chuẩn của một Page
Mọi trang chức năng thông thường nên được bọc trong bộ ba component từ @vppos/core/ui/react: PageContainer, PageHeader, và PageContent.
import { PageContainer, PageHeader, PageContent } from "@vppos/core/ui/react";
const MyPage = () => {
return (
<PageContainer>
<PageHeader
title="Tên Trang"
breadcrumbs={[...]}
actions={<Button>Thêm mới</Button>}
/>
<PageContent>
{/* Nội dung chính của trang */}
</PageContent>
</PageContainer>
);
};
2. PageContainer
Là component bao ngoài cùng, chịu trách nhiệm quản lý khoảng cách (padding), độ rộng tối đa (max-width) và hiệu ứng chuyển cảnh khi chuyển trang.
- Props:
fluid: (Boolean) Nếutrue, trang sẽ chiếm 100% chiều rộng và bỏ padding mặc định (thường dùng cho các Dashboard phức tạp hoặc màn hình Sale).className: Cho phép bổ sung class CSS tùy biến.
3. PageHeader
Chứa các thông tin định danh trang và các nút hành động chính.
- Title: Luôn sử dụng tiêu đề ngắn gọn, viết hoa (đã được style tự động).
- Subtitle: (Tùy chọn) Mô tả ngắn gọn chức năng của trang.
- Breadcrumbs: (Bắt buộc) Đường dẫn điều hướng.
- Cấp 1: Luôn là "Trang chủ" (Home) trỏ về
/dashboard/overview. - Cấp 2: Tên Module (ví dụ: Vai trò & Phân quyền).
- Cấp 3: Tên trang hiện tại (In đậm, không link).
- Cấp 1: Luôn là "Trang chủ" (Home) trỏ về
- Actions: Khu vực bên phải dành cho các nút hành động (Thêm mới, Export, Filter...).