@*
EN: Reusable auth card wrapper — centered form container with icon, title, subtitle.
VI: Card xác thực tái sử dụng — container form giữa trang với icon, tiêu đề, mô tả.
*@
@if (BackLink != null)
{
@BackLinkText
}
@if (ShowHeader)
{
}
@ChildContent
@if (FooterContent != null)
{
}
@code {
///
/// EN: Card title text.
/// VI: Tiêu đề card.
///
[Parameter] public string? Title { get; set; }
///
/// EN: Subtitle/description text shown below the title.
/// VI: Mô tả hiển thị dưới tiêu đề.
///
[Parameter] public string? Subtitle { get; set; }
///
/// EN: Lucide icon name shown above the title.
/// VI: Tên icon Lucide hiển thị trên tiêu đề.
///
[Parameter] public string? Icon { get; set; }
///
/// EN: CSS class for the icon (e.g., auth-icon--blue, auth-icon--orange).
/// VI: CSS class cho icon (VD: auth-icon--blue, auth-icon--orange).
///
[Parameter] public string IconClass { get; set; } = "auth-icon--blue";
///
/// EN: Role badge text (e.g., "QUẢN TRỊ", "NHÂN VIÊN").
/// VI: Text badge vai trò (VD: "QUẢN TRỊ", "NHÂN VIÊN").
///
[Parameter] public string? RoleBadge { get; set; }
///
/// EN: CSS class for the role badge.
/// VI: CSS class cho role badge.
///
[Parameter] public string RoleBadgeClass { get; set; } = "auth-role-badge--blue";
///
/// EN: Security hint message (e.g., "Khu vực bảo mật cao").
/// VI: Thông báo bảo mật.
///
[Parameter] public string? SecurityHint { get; set; }
///
/// EN: Icon for the security hint.
/// VI: Icon cho thông báo bảo mật.
///
[Parameter] public string SecurityHintIcon { get; set; } = "shield-alert";
///
/// EN: CSS class for the security hint.
/// VI: CSS class cho thông báo bảo mật.
///
[Parameter] public string SecurityHintClass { get; set; } = "auth-security-hint--warning";
///
/// EN: Whether to show the header section.
/// VI: Có hiển thị phần header không.
///
[Parameter] public bool ShowHeader { get; set; } = true;
///
/// EN: Use compact gap (28px vs 32px).
/// VI: Dùng gap nhỏ hơn (28px thay vì 32px).
///
[Parameter] public bool Compact { get; set; }
///
/// EN: Transparent background (used inside split panels).
/// VI: Nền trong suốt (dùng trong split panel).
///
[Parameter] public bool Transparent { get; set; }
///
/// EN: Back link URL.
/// VI: URL link quay lại.
///
[Parameter] public string? BackLink { get; set; }
///
/// EN: Back link text.
/// VI: Text link quay lại.
///
[Parameter] public string BackLinkText { get; set; } = "Quay lại đăng nhập";
///
/// EN: Additional CSS classes.
/// VI: CSS class bổ sung.
///
[Parameter] public string? CssClass { get; set; }
///
/// EN: Main content slot.
/// VI: Slot nội dung chính.
///
[Parameter] public RenderFragment? ChildContent { get; set; }
///
/// EN: Footer content slot.
/// VI: Slot nội dung footer.
///
[Parameter] public RenderFragment? FooterContent { get; set; }
}