@page "/albums" @inject IServiceClientFactory ServiceClientFactory @inject NavigationManager NavigationManager @attribute [Authorize]

Add a new album

My Albums

@if (UserAlbums != null) { @foreach (var userAlbum in UserAlbums) { } }
@if (!Loaded) {

Loading albums...

} @code { bool Loaded { get; set; } readonly List UserAlbums = new(); public string AlbumName { get; set; } AlbumClient _albumClient; protected override async Task OnInitializedAsync() { _albumClient = await ServiceClientFactory.CreateAlbumClient(); await LoadAlbums(); } async Task LoadAlbums() { try { var albums = await _albumClient.GetUserAlbumsAsync(); foreach (var album in albums) { UserAlbums.Add(album); } Loaded = true; } catch (Exception ex) { Console.WriteLine(ex.Message); NavigationManager.NavigateTo("Identity/Login", true); } } async Task SubmitForm() { var createAlbumResult = await _albumClient.CreateAlbumAsync(AlbumName); var album = new Album { Name = AlbumName, AlbumId = createAlbumResult.AlbumId }; UserAlbums.Add(album); } }