@page "/content/pages"
@attribute [Authorize(Roles = "Administrator")]

@using BackOffice.Services.Content

@inject ISitePageService SitePageService

<div>
    <MudStack Spacing="2">
        <MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
            <MudText Typo="Typo.h5">مدیریت صفحات سایت</MudText>
            <MudButton Variant="Variant.Filled"
                       Color="Color.Primary"
                       StartIcon="@Icons.Material.Filled.Add"
                       OnClick="CreatePage">
                افزودن صفحه جدید
            </MudButton>
        </MudStack>

        <MudDataGrid T="SitePageSummaryDto"
                     Items="_pages"
                     Hover="true"
                     Elevation="1"
                     Dense="true"
                     Loading="_loading">
            <Columns>
                <PropertyColumn Property="x => x.Id" Title="شناسه" />
                <PropertyColumn Property="x => x.PageKey" Title="کلید صفحه" />
                <PropertyColumn Property="x => x.Title" Title="عنوان" />
                <PropertyColumn Property="x => x.IsActive" Title="وضعیت">
                    <CellTemplate>
                        <MudChip Color="@(context.Item.IsActive ? Color.Success : Color.Error)"
                                 Size="Size.Small">
                            @(context.Item.IsActive ? "فعال" : "غیرفعال")
                        </MudChip>
                    </CellTemplate>
                </PropertyColumn>
                <PropertyColumn Property="x => x.SectionCount" Title="تعداد بخش" />
                <TemplateColumn Title="آخرین ویرایش">
                    <CellTemplate>
                        @context.Item.LastModified.MiladiToJalaliWithTime()
                    </CellTemplate>
                </TemplateColumn>
                <TemplateColumn Title="عملیات" Sortable="false">
                    <CellTemplate>
                        <MudStack Row="true" Spacing="1">
                            <MudTooltip Text="ویرایش">
                                <MudIconButton Icon="@Icons.Material.Filled.Edit"
                                               Size="Size.Small"
                                               Color="Color.Primary"
                                               OnClick="@(() => EditPage(context.Item))" />
                            </MudTooltip>
                            <MudTooltip Text="مدیریت بخش‌ها">
                                <MudIconButton Icon="@Icons.Material.Filled.ViewList"
                                               Size="Size.Small"
                                               Color="Color.Info"
                                               OnClick="@(() => ManageSections(context.Item))" />
                            </MudTooltip>
                            <MudTooltip Text="حذف">
                                <MudIconButton Icon="@Icons.Material.Filled.Delete"
                                               Size="Size.Small"
                                               Color="Color.Error"
                                               OnClick="@(() => DeletePage(context.Item))" />
                            </MudTooltip>
                        </MudStack>
                    </CellTemplate>
                </TemplateColumn>
            </Columns>
            <NoRecordsContent>
                <MudAlert Severity="Severity.Info" Dense="true" Variant="Variant.Text" Class="my-4">موردی یافت نشد.</MudAlert>
            </NoRecordsContent>
        </MudDataGrid>
    </MudStack>
</div>
