Доработка отображение треков в секции добавления

This commit is contained in:
FrigaT
2026-04-21 19:10:10 +03:00
parent e0c6b4119c
commit 8a809c9e7d

View File

@@ -115,7 +115,7 @@
</MudCardHeader> </MudCardHeader>
<MudCardContent Class="flex-grow-1 overflow-auto flex-column"> <MudCardContent Class="flex-grow-1 overflow-auto flex-column">
<MudTable Items="@_tracks" Virtualize Hover Elevation="0" Breakpoint="Breakpoint.None" Class="d-flex flex-grow-1 flex-column" Style="min-height: 0;"> <MudTable Items="@_tracks" Hover Elevation="0" Breakpoint="Breakpoint.None" Style="min-height: 0;">
<RowTemplate> <RowTemplate>
<MudTd Class="py-1 px-0" Style="width: 100%;"> <MudTd Class="py-1 px-0" Style="width: 100%;">
<TrackItem Track="@context" PlaylistShareToken="@Token" CanPlay="@_canPlay" /> <TrackItem Track="@context" PlaylistShareToken="@Token" CanPlay="@_canPlay" />
@@ -134,7 +134,7 @@
private RenderFragment AddTrackCardContent => __builder => private RenderFragment AddTrackCardContent => __builder =>
{ {
<MudCard Class="d-flex flex-column" Elevation="0" Style="height: 100%; overflow: hidden;"> <MudCard Class="d-flex flex-column" Elevation="0" Style="height: 100%;">
<MudCardHeader> <MudCardHeader>
<MudStack> <MudStack>
<MudText Typo="Typo.h6" Color="Color.Primary" Class="mb-4">Добавление треков</MudText> <MudText Typo="Typo.h6" Color="Color.Primary" Class="mb-4">Добавление треков</MudText>
@@ -142,7 +142,7 @@
@bind-Value:after="OnSearchQueryChanged" @bind-Value:after="OnSearchQueryChanged"
Variant="Variant.Outlined" Variant="Variant.Outlined"
FullWidth FullWidth
Label="Название или ссылка на трек Яндекс.Музыки" Label="Название или ссылка на трек"
Disabled="@_isSearching" Disabled="@_isSearching"
Adornment="Adornment.End" AdornmentIcon="@Icons.Material.Filled.Search" AdornmentColor="Color.Secondary" /> Adornment="Adornment.End" AdornmentIcon="@Icons.Material.Filled.Search" AdornmentColor="Color.Secondary" />
@@ -217,21 +217,24 @@
<MudTable Items="@_searchResult.Tracks" <MudTable Items="@_searchResult.Tracks"
Hover Hover
Elevation="0" Elevation="0"
Class="d-flex flex-grow-1 flex-column" Style="min-height: 0; height: 100%;"
Style="min-height: 0;" Breakpoint="Breakpoint.None">
Breakpoint="Breakpoint.Sm">
<RowTemplate> <RowTemplate>
<MudTd Class="pa-1" Style="width: 100%;"> <MudTd Class="py-1 px-0" Style="width: 100%;">
<TrackItem Track="@context" PlaylistShareToken="@Token" /> <TrackItem Track="@context" PlaylistShareToken="@Token" CanPlay="@_canPlay" />
</MudTd>
<MudTd Class="pa-1">
<MudToggleIconButton Toggled="@_existingTrackIds.Contains(context.TrackId)"
Icon="@Icons.Material.Filled.AddCircle"
Color="@Color.Primary"
ToggledIcon="@Icons.Material.Filled.RemoveCircle"
ToggledColor="@Color.Error"
ToggledChanged="() => ToggleTrack(context)" />
</MudTd> </MudTd>
@if (_canAdd)
{
<MudTd Class="py-1 px-0">
<MudToggleIconButton Toggled="@_existingTrackIds.Contains(context.TrackId)"
Icon="@Icons.Material.Filled.AddCircle"
Color="@Color.Primary"
ToggledIcon="@Icons.Material.Filled.RemoveCircle"
ToggledColor="@Color.Error"
ToggledChanged="() => ToggleTrack(context)" />
</MudTd>
}
</RowTemplate> </RowTemplate>
</MudTable> </MudTable>
} }
@@ -267,9 +270,7 @@
private bool _isAuthenticated; private bool _isAuthenticated;
/// <summary>Текущий ID пользователя, если авторизован.</summary> /// <summary>Текущий ID пользователя, если авторизован.</summary>
private string? _currentUserId; private string? _currentUserId;
/// <summary>Обновление прав доступа к плейлисту, если создатель.</summary>
private UpdatePermissionsDto _editPermissions = new();
/// <summary>Состояние: Происходит загрузка плейлиста.</summary> /// <summary>Состояние: Происходит загрузка плейлиста.</summary>
private bool _loading = true; private bool _loading = true;
/// <summary>Состояние: Происходит загрузка треков плейлиста.</summary> /// <summary>Состояние: Происходит загрузка треков плейлиста.</summary>
@@ -323,17 +324,6 @@
|| _playlist.PlayPermission == ViewPermission.Everyone || _playlist.PlayPermission == ViewPermission.Everyone
|| (_playlist.PlayPermission == ViewPermission.AuthorizedOnly && _isAuthenticated); || (_playlist.PlayPermission == ViewPermission.AuthorizedOnly && _isAuthenticated);
if (_isCreator && _isAuthenticated)
{
_editPermissions = new UpdatePermissionsDto
{
ViewPermission = _playlist.ViewPermission,
AddPermission = _playlist.AddPermission,
RemovePermission = _playlist.RemovePermission,
PlayPermission = _playlist.PlayPermission,
};
}
} }
} }