Files
2025-10-15 21:10:41 +02:00

55 lines
1.6 KiB
Plaintext

<div class="grid grid-cols-1 px-4 pt-6 xl:grid-cols-3 xl:gap-4 dark:bg-gray-900">
<div class="mb-4 col-span-full xl:mb-2">
<Breadcrumb BreadcrumbItems="BreadcrumbItems" />
<div class="flex flex-row items-center justify-between gap-4">
@if (TitleActions != null)
{
@TitleActions
}
else
{
<H1>@Title</H1>
}
@if (CustomActions != null)
{
<div class="flex flex-wrap items-center gap-2">
@CustomActions
</div>
}
</div>
<p class="text-sm text-gray-600 dark:text-gray-400 mt-2">@Description</p>
</div>
</div>
@code {
/// <summary>
/// Gets or sets the breadcrumb items for the header.
/// </summary>
[Parameter]
public List<BreadcrumbItem> BreadcrumbItems { get; set; } = new List<BreadcrumbItem>();
/// <summary>
/// Gets or sets the title of the header.
/// </summary>
[Parameter]
public string Title { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the description text below the title.
/// </summary>
[Parameter]
public string Description { get; set; } = string.Empty;
/// <summary>
/// The caller can provide a custom action button section to be displayed on the right side of the header.
/// </summary>
[Parameter]
public RenderFragment? CustomActions { get; set; }
/// <summary>
/// The caller can provide additional content to be displayed next to the title.
/// </summary>
[Parameter]
public RenderFragment? TitleActions { get; set; }
}