32 lines
970 B
Plaintext
32 lines
970 B
Plaintext
|
@page "/authentication/{action}"
|
||
|
@inject OrderState OrderState
|
||
|
@inject NavigationManager NavigationManager
|
||
|
|
||
|
<RemoteAuthenticatorViewCore
|
||
|
TAuthenticationState="PizzaAuthenticationState"
|
||
|
AuthenticationState="RemoteAuthenticationState"
|
||
|
OnLogInSucceeded="RestorePizza"
|
||
|
Action="@Action" />
|
||
|
|
||
|
@code{
|
||
|
[Parameter] public string Action { get; set; }
|
||
|
|
||
|
public PizzaAuthenticationState RemoteAuthenticationState { get; set; } = new PizzaAuthenticationState();
|
||
|
|
||
|
protected override void OnInitialized()
|
||
|
{
|
||
|
if (RemoteAuthenticationActions.IsAction(RemoteAuthenticationActions.LogIn, Action))
|
||
|
{
|
||
|
// Preserve the current order so that we don't loose it
|
||
|
RemoteAuthenticationState.Order = OrderState.Order;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void RestorePizza(PizzaAuthenticationState pizzaState)
|
||
|
{
|
||
|
if (pizzaState.Order != null)
|
||
|
{
|
||
|
OrderState.ReplaceOrder(pizzaState.Order);
|
||
|
}
|
||
|
}
|
||
|
}
|