@page "/myorders" @attribute [Authorize] @inject OrdersClient OrdersClient @inject NavigationManager NavigationManager <div class="main"> <TemplatedList Loader="@LoadOrders" ListGroupClass="orders-list"> <Loading>Loading...</Loading> <Empty> <h2>No orders placed</h2> <a class="btn btn-success" href="">Order some pizza</a> </Empty> <Item Context="item"> <div class="col"> <h5>@item.Order.CreatedTime.ToLongDateString()</h5> Items: <strong>@item.Order.Pizzas.Count()</strong>; Total price: <strong>£@item.Order.GetFormattedTotalPrice()</strong> </div> <div class="col"> Status: <strong>@item.StatusText</strong> </div> <div class="col flex-grow-0"> <a href="myorders/@item.Order.OrderId" class="btn btn-success"> Track > </a> </div> </Item> </TemplatedList> </div> @code { async Task<IEnumerable<OrderWithStatus>> LoadOrders() { var ordersWithStatus = Enumerable.Empty<OrderWithStatus>(); try { ordersWithStatus = await OrdersClient.GetOrders(); } catch (AccessTokenNotAvailableException ex) { ex.Redirect(); } return ordersWithStatus; } }