@using BackOffice.Services.Tag

<MudDialog>
    <DialogContent>
        <MudStack Spacing="2">
            <MudText Typo="Typo.h6">تگ‌های محصول: @ProductTitle</MudText>

            @if (_currentTags.Any())
            {
                <MudStack Row="true" Spacing="1">
                    @foreach (var tag in _currentTags)
                    {
                        <MudChip T="string" 
                                 Color="Color.Info"
                                 Size="Size.Small"
                                 OnClose="@(() => RemoveAsync(tag))"
                                 CloseIcon="@Icons.Material.Filled.Close">
                            @tag.TagTitle
                        </MudChip>
                    }
                </MudStack>
            }
            else
            {
                <MudText Typo="Typo.caption" Color="Color.Default">
                    هیچ تگی برای این محصول ثبت نشده است.
                </MudText>
            }

            <MudSelect T="long"
                       Label="انتخاب تگ"
                       Variant="Variant.Outlined"
                       Margin="Margin.Dense"
                       ToStringFunc="@(id => id == 0 ? string.Empty : (_tags?.FirstOrDefault(t => t.Id == id)?.Title ?? id.ToString()))"
                       @bind-Value="_selectedTagId">
                @if (_tags != null)
                {
                    @foreach (var tag in _tags.Where(t => !_currentTags.Any(ct => ct.TagId == t.Id)))
                    {
                        <MudSelectItem T="long" Value="@tag.Id">@tag.Title (@tag.Name)</MudSelectItem>
                    }
                }
            </MudSelect>

            <MudButton Variant="Variant.Filled"
                       Color="Color.Primary"
                       Disabled="_selectedTagId == 0"
                       OnClick="AssignAsync">
                افزودن تگ به محصول
            </MudButton>
        </MudStack>
    </DialogContent>
    <DialogActions>
        <MudButton Color="Color.Default" Variant="Variant.Text" OnClick="Close">
            بستن
        </MudButton>
    </DialogActions>
</MudDialog>
