38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
@page "/myorders"
|
|
@inject HttpClient HttpClient
|
|
@attribute [Authorize]
|
|
|
|
<div class="main">
|
|
<TemplatedList Loader="@LoadOrders" ListGroupClass="orders-list">
|
|
<LoadingContent>Loading...</LoadingContent>
|
|
<EmptyContent>
|
|
<h2>No orders placed</h2>
|
|
<a class="btn btn-success" href="">Order some pizza</a>
|
|
</EmptyContent>
|
|
<ItemContent 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>
|
|
</ItemContent>
|
|
</TemplatedList>
|
|
</div>
|
|
|
|
@functions {
|
|
async Task<List<OrderWithStatus>> LoadOrders()
|
|
{
|
|
return await HttpClient.GetJsonAsync<List<OrderWithStatus>>("orders");
|
|
}
|
|
}
|