blazing pizza interaction

main
syneffort 1 year ago
parent 8ce7245184
commit fb13897eac
  1. 33
      MyFirstBlazor/BlazingPizza/Pages/Index.razor
  2. 5
      MyFirstBlazor/BlazingPizza/Services/OrderState.cs
  3. 2
      MyFirstBlazor/BlazingPizza/Shared/ConfigurePizzaDialog.razor
  4. BIN
      MyFirstBlazor/BlazingPizza/pizza.db
  5. BIN
      MyFirstBlazor/BlazingPizza/pizza.db-shm
  6. BIN
      MyFirstBlazor/BlazingPizza/pizza.db-wal

@ -33,8 +33,41 @@
OnConfirm="OrderState.ConfirmConfigurePizzaDialog"/> OnConfirm="OrderState.ConfirmConfigurePizzaDialog"/>
} }
<div class="sidebar">
@if (_order.Pizzas.Any())
{
<div class="order-contents">
<h2>Your order</h2>
@foreach (var configuredPizza in _order.Pizzas)
{
<div class="cart-item">
<div class="title">@(configuredPizza.Size)" @configuredPizza.Special.Name</div>
<div class="item-price">
@configuredPizza.GetFormattedTotalPrice()
</div>
<a @onclick="@(() => OrderState.RemoveConfiguredPizza(configuredPizza))" class="delete-item">¡¿</a>
</div>
}
</div>
}
else
{
<div class="empty-cart">Choose a pizza<br />to get started</div>
}
<div class="order-total @(_order.Pizzas.Any() ? "" : "hidden")">
Total:
<span class="total-price">@_order.GetFormattedTotalPrice()</span>
<a href="checkout" class="@(OrderState.Order.Pizzas.Count == 0 ? "btn btn-warning disabled" : "btn btn-warning")">
Order >
</a>
</div>
</div>
@code { @code {
private List<PizzaSpecial> _specials = new List<PizzaSpecial>(); private List<PizzaSpecial> _specials = new List<PizzaSpecial>();
private Order _order => OrderState.Order;
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {

@ -32,5 +32,10 @@
ShowingConfigureDialog = false; ShowingConfigureDialog = false;
} }
public void RemoveConfiguredPizza(Pizza pizza)
{
Order.Pizzas.Remove(pizza);
}
} }
} }

@ -9,7 +9,7 @@
<form class="dialog-body"> <form class="dialog-body">
<div> <div>
<label>Size:</label> <label>Size:</label>
<input type="range" min="@Pizza.MinimumSize" max="@Pizza.MaximumSize" step="1" /> <input type="range" @bind="Pizza.Size" min="@Pizza.MinimumSize" max="@Pizza.MaximumSize" step="1" />
<span class="size-label"> <span class="size-label">
@(Pizza.Size) (£@(Pizza.GetFormattedTotalPrice())) @(Pizza.Size) (£@(Pizza.GetFormattedTotalPrice()))
</span> </span>

Loading…
Cancel
Save