@page "/myplaylists"
@attribute [Authorize]
@using System.Security.Claims
@using Microsoft.EntityFrameworkCore
@using Microsoft.AspNetCore.Components.Authorization
@inject AuthenticationStateProvider AuthenticationStateProvider
@inject AppDbContext Db
@inject NavigationManager Navigation
Мои плейлисты
Создать новый плейлист
@if (playlists == null)
{
Загрузка...
}
else if (!playlists.Any())
{
У вас пока нет общих плейлистов. Создайте первый!
}
else
{
| Название | Дата создания | Ссылка | Настройки |
@foreach (var pl in playlists)
{
| @pl.Title |
@pl.CreatedAt.ToShortDateString() |
открыть |
настройки |
}
}
@code {
private List? playlists;
private string? userId;
protected override async Task OnInitializedAsync()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
userId = authState.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
if (userId != null)
{
playlists = await Db.SharedPlaylists
.Where(p => p.OwnerUserId == userId)
.OrderByDescending(p => p.CreatedAt)
.ToListAsync();
}
}
}