Адаптивность шаринга

This commit is contained in:
FrigaT
2026-04-21 17:44:09 +03:00
parent 58f21da19c
commit eb323e874f
4 changed files with 129 additions and 79 deletions

View File

@@ -8,41 +8,53 @@
@inject ISnackbar Snackbar
@inject IDialogService DialogService
<MudStack Row AlignItems="AlignItems.Center">
<MudStack Row AlignItems="AlignItems.Center" Spacing="2">
@if (!string.IsNullOrEmpty(Playlist?.CoverUrl))
{
<MudImage Src="@Playlist.CoverUrl.FormatCoverUrl(80, 80)" Height="80" Width="80" Class="rounded" />
<MudImage Src="@Playlist.CoverUrl.FormatCoverUrl(60, 60)" Height="60" Width="60" Class="rounded shadow-sm" />
}
<MudStack>
<MudStack Row AlignItems="AlignItems.Center" Wrap="Wrap.Wrap">
<MudLink Href="@($"https://music.yandex.ru/playlists/{Playlist?.YandexPlaylistUuid}")"
Typo="Typo.h5"
Target="_blank"
Underline="Underline.Hover">
<MudStack Spacing="0" Class="flex-grow-1">
<MudLink Href="@($"https://music.yandex.ru/playlists/{Playlist?.YandexPlaylistUuid}")"
Typo="Typo.h6" Target="_blank" Underline="Underline.Hover" Class="d-flex align-center">
@Playlist?.Title
<MudIcon Icon="@Icons.Material.Filled.OpenInNew" Size="Size.Small" Class="ml-1" />
</MudLink>
<ShareButton />
<MudIcon Icon="@Icons.Material.Filled.OpenInNew" Size="Size.Small" Class="ml-1" />
</MudLink>
</MudStack>
<MudStack Row AlignItems="AlignItems.Center" Spacing="0">
@* ПК ВЕРСИЯ: Показываем все кнопки *@
<MudHidden Breakpoint="Breakpoint.MdAndUp" Invert>
<MudIconButton Icon="@(_isFavorite? Icons.Material.Filled.Star : Icons.Material.Outlined.StarBorder)"
Color="Color.Warning"
OnClick="ToggleFavorite"
Disabled="_favoriteLoading"
Size="Size.Medium" />
Color="Color.Warning" OnClick="ToggleFavorite" Disabled="_favoriteLoading" Size="Size.Medium" />
<ShareButton />
@if (_isCreator && _isAuthenticated)
{
<MudIconButton Icon="@Icons.Material.Filled.Settings"
Color="Color.Default"
OnClick="OpenPermissionsDialog"
Title="Настройки доступа"
Size="Size.Medium" />
<MudIconButton Icon="@Icons.Material.Filled.Settings" OnClick="OpenPermissionsDialog" Size="Size.Medium" />
}
</MudStack>
</MudHidden>
@* МОБИЛЬНАЯ ВЕРСИЯ: Уводим в многоточие *@
<MudHidden Breakpoint="Breakpoint.SmAndDown" Invert>
<MudMenu Icon="@Icons.Material.Filled.MoreVert" AnchorOrigin="Origin.BottomRight" TransformOrigin="Origin.TopRight">
<MudMenuItem>
<MudIconButton Icon="@(_isFavorite? Icons.Material.Filled.Star : Icons.Material.Outlined.StarBorder)"
Color="Color.Warning" OnClick="ToggleFavorite" Disabled="_favoriteLoading" Size="Size.Medium" />
</MudMenuItem>
<MudMenuItem>
<ShareButton />
</MudMenuItem>
@if (_isCreator && _isAuthenticated)
{
<MudMenuItem Icon="@Icons.Material.Filled.Settings" OnClick="OpenPermissionsDialog">
</MudMenuItem>
}
</MudMenu>
</MudHidden>
</MudStack>
</MudStack>
@code {
[Parameter] public SharedPlaylistDto? Playlist { get; set; }
[Parameter] public EventCallback OnPermissionsChanged { get; set; }