@page "/MedicalHistoryTemplatesPage"
@inject NavigationManager NavigationManager
@inject ISnackbar Snackbar
@inject IRestWrapper RestWrapper
@inject IUserUtility UserUtility

<BasePageUi Title="پیش نویس های" Description="پیش نویس های شرح های سرعت و دقت شما را افزایش میدهد">
    <MudStack class="p-5">
        <div class="flex flex-row mr-1 mt-5">
            <div>
                <p class="font-extrabold text-[#356859]">تمامی پیش نویس های شما</p>
                <p class="text-xs font-light ">شما میتوانید پیش نویس جدید اضافه کنید</p>
            </div>
            <MudButton @onclick="ViewModel.CreateMedicalHistoryTemplateClicked" DisableElevation="false" class="text-[#356859] my-auto mr-auto font-extrabold bg-white rounded-lg drop-shadow-md">+ افزودن</MudButton>
        </div>
        <MudTextField class="text-sm" InputType="InputType.Search" T="string" Label="جست جو پیش نویس" Variant="Variant.Outlined" />
        <div class="grid grid-cols-2 gap-3 w-full sm:grid-cols-3 md:grid-cols-4">
            @if (@ViewModel.IsProcessing)
            {
                @for (int i = 0; i < 4; i++)
                {
                    <MudCard class="bg-transparent p-4 rounded-lg" Elevation="0">
                        <MudSkeleton class="mb-4 mx-10 h-10" SkeletonType="SkeletonType.Rectangle" Animation="Animation.Wave" />
                        <MudSkeleton Animation="Animation.Wave" />
                    </MudCard>
                }
            }
            else
            {
                
                @foreach (var item in ViewModel.PageDto)
                {
                    <MedicalHistoryTemplateItemTemplate Clicked="ViewModel.MedicalHistoryTemplateClicked" MedicalHistoryTemplate="@item" />
                }
            }


        </div>
    </MudStack>
</BasePageUi>
@code
{
   public MedicalHistoryTemplatesPageViewModel ViewModel { get; set; }
    protected override async Task OnInitializedAsync()
    {
        ViewModel = new MedicalHistoryTemplatesPageViewModel(NavigationManager, UserUtility, RestWrapper, Snackbar);
        await ViewModel.InitializeAsync();
        await base.OnInitializedAsync();
    }
}
