@using CMSMicroservice.Protobuf.Protos.NetworkMembership

<MudDialog>
    <TitleContent>
        <MudText Typo="Typo.h6">
            <MudIcon Icon="@Icons.Material.Filled.SwapHoriz" Class="ml-1" />
            تغییر والد در شبکه
        </MudText>
    </TitleContent>
    <DialogContent>
        <MudAlert Severity="Severity.Warning" Dense="true" Class="mb-4">
            ⚠️ این عملیات حساس است و ساختار درخت شبکه را تغییر می‌دهد.
            تاریخچه تغییر ثبت خواهد شد.
        </MudAlert>

        <MudForm @ref="_form">
            <MudStack Spacing="3">
                <MudTextField T="string" 
                              Label="کاربر فعلی" 
                              Value="@UserDisplayName"
                              ReadOnly="true"
                              Variant="Variant.Outlined"
                              Adornment="Adornment.Start"
                              AdornmentIcon="@Icons.Material.Filled.Person" />

                <MudNumericField T="long" 
                                 @bind-Value="_newParentId"
                                 Label="شناسه والد جدید"
                                 Required="true"
                                 RequiredError="شناسه والد جدید الزامی است"
                                 Variant="Variant.Outlined"
                                 Adornment="Adornment.Start"
                                 AdornmentIcon="@Icons.Material.Filled.PersonSearch"
                                 Min="1" />

                <MudSelect T="int" 
                           @bind-Value="_newLeg"
                           Label="ساق جدید"
                           Required="true"
                           Variant="Variant.Outlined"
                           Adornment="Adornment.Start"
                           AdornmentIcon="@Icons.Material.Filled.AccountTree">
                    <MudSelectItem T="int" Value="0">چپ (تیم اول)</MudSelectItem>
                    <MudSelectItem T="int" Value="1">راست (تیم دوم)</MudSelectItem>
                </MudSelect>

                <MudTextField T="string"
                              @bind-Value="_reason"
                              Label="دلیل تغییر"
                              Required="true"
                              RequiredError="دلیل تغییر الزامی است"
                              Variant="Variant.Outlined"
                              Lines="3"
                              Placeholder="دلیل جابجایی کاربر در شبکه را وارد کنید..."
                              Adornment="Adornment.Start"
                              AdornmentIcon="@Icons.Material.Filled.Description" />
            </MudStack>
        </MudForm>
    </DialogContent>
    <DialogActions>
        <MudButton OnClick="Cancel" Color="Color.Default">انصراف</MudButton>
        <MudButton OnClick="Submit" 
                   Color="Color.Error" 
                   Variant="Variant.Filled" 
                   Disabled="_isSubmitting"
                   StartIcon="@Icons.Material.Filled.SwapHoriz">
            @if (_isSubmitting)
            {
                <MudProgressCircular Size="Size.Small" Indeterminate="true" Class="ml-2" />
                <span>در حال انجام...</span>
            }
            else
            {
                <span>تغییر والد</span>
            }
        </MudButton>
    </DialogActions>
</MudDialog>
